内容正文:
编写说明:江苏省对口招生计算机类《考纲百套卷》,依据《江苏省计算机类专业综合理论考试大纲》编写。本专辑涵盖5门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第18卷为专业核心模块训练卷,按《C语言》中"C语言卷5——基本语句与输入输出函数"范围和要求编写。具体内容为:掌握表达式语句,空语句,复合语句;掌握输入输出函数。
江苏省对口招生职业技能考试
C语言 试卷
(C语言卷5——基本语句与输入输出函数)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. 下列是表达式语句的是( )
A.if(x>0)(选择语句) B.x=y+1;(表达式加分号) C.}(结束花括号) D.return 0(返回语句)
【答案】B
【解析】表达式后面加分号;构成表达式语句。
2. 空语句是( )
A.一个分号; B.一对花括号{} C.//注释符号 D.NULL空指针
【答案】A
【解析】只有一个分号的语句称为空语句,不执行任何操作。
3. 复合语句使用什么符号括起来( )
A.圆括号() B.方括号[] C.花括号{} D.尖括号<>
【答案】C
【解析】复合语句(块语句)用一对花括号{}括起来。
4. printf函数的主要用途是( )
A.从键盘输入数据 B.向标准输出设备输出数据 C.计算表达式的值 D.定义变量
【答案】B
【解析】printf函数用于向标准输出设备(通常是屏幕)输出数据。
5. scanf函数的主要用途是( )
A.向文件输出数据 B.从标准输入设备读取数据 C.计算表达式的值 D.定义变量并初始化
【答案】B
【解析】scanf函数用于从标准输入设备(通常是键盘)读取数据。
6. printf中,输出整数的格式控制符是( )
A.%f(浮点数) B.%d(整数) C.%c(字符) D.%s(字符串)
【答案】B
【解析】%d用于输出整数(十进制)。
7. printf中,输出浮点数的格式控制符是( )
A.%d(整数) B.%f(浮点数) C.%c(字符) D.%s(字符串)
【答案】B
【解析】%f用于输出浮点数。
8. printf中,输出单个字符的格式控制符是( )
A.%d(整数) B.%f(浮点数) C.%c(字符) D.%s(字符串)
【答案】C
【解析】%c用于输出单个字符。
9. printf中,输出字符串的格式控制符是( )
A.%d(整数) B.%f(浮点数) C.%c(字符) D.%s(字符串)
【答案】D
【解析】%s用于输出字符串(遇到\0结束)。
10. 在scanf中,输入整数的格式控制符是( )
A.%f(浮点数) B.%d(整数) C.%c(字符) D.%s(字符串)
【答案】B
【解析】%d用于输入整数。
11. 下列关于scanf,正确的是( )
A.scanf不需要格式控制符 B.scanf中变量名前需要加&取地址符
C.scanf用于向屏幕输出数据 D.scanf不需要格式控制字符串参数
【答案】B
【解析】scanf需要格式控制字符串,且变量名前(除数组名外)需要加&取地址符。
12. 在scanf函数中,变量名前面通常需要加( )
A..(英文句号) B.,(逗号) C.&(取地址符) D.*(指针运算符)
【答案】C
【解析】scanf中变量名前需要加&取地址符(数组名除外,因为数组名本身就是地址)。
13. 下列关于printf和scanf,正确的是( )
A.printf用于输入,scanf用于输出 B.两者都需要格式控制字符串
C.两者都不需要格式控制字符串 D.两者都不需要变量或表达式列表
【答案】B
【解析】printf和scanf都需要格式控制字符串来指定输入/输出的格式。
14. putchar函数用于( )
A.输出字符串 B.输出单个字符 C.输入字符 D.计算字符的ASCII值
【答案】B
【解析】putchar函数用于向标准输出输出单个字符。
15. getchar函数用于( )
A.输入字符串 B.输入单个字符 C.输出单个字符 D.计算表达式
【答案】B
【解析】getchar函数用于从标准输入读取单个字符。
16. 下列关于复合语句,正确的是( )
A.复合语句不能包含变量定义 B.复合语句中定义的变量只在本复合语句中有效
C.复合语句必须使用return语句结束 D.复合语句不能嵌套使用
【答案】B
【解析】复合语句中定义的变量具有块作用域,只在本块内有效。
17. 在printf的格式字符串中,
表示( )
A.制表符(Tab) B.回车换行符 C.反斜杠字符 D.空字符结束标志
【答案】B
【解析】
是转义字符,表示回车换行(换行符)。
18. 想要在printf中输出%字符本身,应该使用( )
A.单个% B.%%(两个百分号) C.\% D.%c(输出字符%)
【答案】B
【解析】%%用于输出一个%字符本身。
19. 下列关于空语句,正确的是( )
A.空语句没有任何作用,不能使用 B.空语句可以用于作为循环体 C.空语句会产生编译错误 D.空语句必须包含空格或注释
【答案】B
【解析】空语句(只有一个分号;)可以用作循环体等场合。
20. C语言中的输入输出操作是通过什么实现的( )
A.专用输入输出语句 B.函数调用标准库函数 C.专用运算符 D.专用关键字
【答案】B
【解析】C语言没有专用输入输出语句,通过调用标准库函数(如printf、scanf)实现。
二、判断题(共10题,每题1分,共10分)
21. 表达式语句是表达式后加分号构成的( )
【答案】√
【解析】在C语言中,表达式后加;就构成了表达式语句。
22. 空语句就是一个分号;( )
【答案】√
【解析】空语句只有一个分号,不执行任何操作。
23. 复合语句必须使用return语句结束( )
【答案】×
【解析】复合语句不需要必须使用return结束,可以自然结束。
24. printf函数用于输入数据( )
【答案】×
【解析】printf函数用于输出数据,scanf函数用于输入数据。
25. 在scanf中,变量名前需要加&取地址符(数组名除外)( )
【答案】√
【解析】scanf需要变量的地址,所以变量名前要加&(数组名本身是地址,不需要加&)。
26. %d是输出浮点数的格式控制符( )
【答案】×
【解析】%d是输出整数的格式控制符,%f才是输出浮点数的。
27. getchar函数用于从键盘输入一个字符( )
【答案】√
【解析】getchar从标准输入(通常是键盘)读取一个字符。
28. putchar函数一次只能输出一个字符( )
【答案】√
【解析】putchar(ch)一次输出一个字符ch。
29. C语言有专门的输入输出语句( )
【答案】×
【解析】C语言没有专用输入输出语句,通过函数调用实现。
30. 复合语句中定义的变量在整个程序中都有效( )
【答案】×
【解析】复合语句中定义的变量只具有块作用域,只在本块内有效。
三、填空题(共10空,每空2分,共20分)
31. C语言中,表达式后加____就构成了表达式语句。
【答案】;(分号)
【解析】表达式后加分号;构成表达式语句。
32. 空语句只包含一个____符号。
【答案】;(分号)
【解析】空语句就是一个分号;。
33. 复合语句使用____和____(填写符号)括起来。
【答案】{}(花括号)
【解析】复合语句用一对花括号{}括起来。
34. printf函数中,输出整数的格式控制符是____。
【答案】%d
【解析】%d用于输出整数。
35. printf函数中,输出浮点数的格式控制符是____。
【答案】%f
【解析】%f用于输出浮点数。
36. printf函数中,输出字符串的格式控制符是____。
【答案】%s
【解析】%s用于输出字符串。
37. 在scanf函数中,变量名前需要加____符号获取变量地址。
【答案】&
【解析】scanf中变量名前加&取地址符(数组名除外)。
38. getchar函数用于输入一个____,putchar函数用于输出一个____。
【答案】字符、字符
【解析】getchar输入字符,putchar输出字符。
39. 在printf的格式字符串中,
表示____。
【答案】回车换行
【解析】
是转义字符,表示回车换行。
40. C语言的输入输出操作是通过调用____来实现的。
【答案】标准库函数
【解析】C语言通过调用标准库函数(如printf、scanf)实现输入输出操作。
四、程序综合题(共3题,每题10分,共30分)
41. 程序填空题:阅读下列程序,请将①~④表示的内容填写完整。
(1) #include <stdio.h>
(2) int main()
(3) {
(4) int x;
(5) float y;
(6) scanf("%d%f",&x,&y);
(7) printf("x=%d,y=%.1f
",x,y);
(8) return 0;
(9) }
上述程序中,第4行变量x的数据类型是①____,scanf函数中&x表示②____,
第6行输入格式"%d%f"表示③____,第7行%.1f表示④____。
【答案】① int ② 变量 x 的地址 ③ 输入一个整型数据和一个浮点型数据 ④ 输出浮点数时保留 1 位小数
【解析】
1.第 4 行int x;定义变量 x 为 int 整型;
2.&x是取地址符,表示获取变量 x 在内存中的地址;
3.%d对应 int 输入,%f对应 float 输入,组合起来输入一个整数和一个小数;
4.%.1f是输出格式控制,让浮点数只保留小数点后 1 位。
42. 程序填空题:以下程序统计字符串中数字字符的个数。请将①~④表示的内容填写完整。
#include <stdio.h>
#include <string.h>
int main()
{
char s[100];
int i,count=0;
gets(①____);
for(i=0;②____;i++)
{
if(s[i]>=③____&&s[i]<=④____)
count++;
}
printf("数字字符个数:%d
",count);
return 0;
}
【答案】① s ② i<strlen (s) ③ '0' ④ '9'
【解析】
① gets(s)用于读取字符串存入字符数组 s;
② 循环遍历字符串直到最后一位,条件为i<strlen(s);
③④ 数字字符的范围是从字符 '0' 到字符 '9',满足则计数加 1。
43.文件palin.txt中存放一个正整数(位数≥5)。用削峰法删除2个数字,判断能否构成回文数,若能则输出最大的回文数。请完善程序。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define DEL 2
int is_palin(char s[]);
int make_palin(char strn[],int deln);
int main()
{
char strn[50];
int result;
FILE *fp=fopen("palin.txt","r");
fscanf(fp,"%s",strn);
fclose(fp);
result=make_palin(strn,DEL);
if(result>0)printf("最大回文数:%d
",result);
else printf("无法构成回文数");
return 0;
}
int is_palin(char s[])
{
int i,len=strlen(s);
for(i=0;i<len/2;i++)
if(①)return 0;
return 1;
}
int make_palin(char strn[],int deln)
{
int lenth=strlen(strn);
int i,k,dn,maxp=-1,num;
char tmp[50];
for(dn=1;dn<=deln;dn++)
{
i=0;
while(strn[i]>=strn[i+1]&&i<lenth-dn)
i++;
for(k=i;k<lenth-dn;k++)
②;
}
if(is_palin(strn))
{
num=0;
for(k=0;k<lenth-deln;k++)
num=num*10+strn[k]-'0';
if(num>maxp)maxp=num;
}
return maxp;
}
【答案】① s [i]!=s [len-1-i] ② strn [k]=strn [k+1]
【解析】
① 判断回文数:对称位置字符不相等则不是回文,返回 0;
② 将后一位字符向前覆盖,实现删除指定位置数字的功能。
学科网(北京)股份有限公司
$
编写说明:江苏省对口招生计算机类《考纲百套卷》,依据《江苏省计算机类专业综合理论考试大纲》编写。本专辑涵盖5门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第18卷为专业核心模块训练卷,按《C语言》中"C语言卷5——基本语句与输入输出函数"范围和要求编写。具体内容为:掌握表达式语句,空语句,复合语句;掌握输入输出函数。
江苏省对口招生职业技能考试
C语言 试卷
(C语言卷5——基本语句与输入输出函数)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. 下列是表达式语句的是( )
A.if(x>0) B.x=y+1; C.} D.return 0
2. 空语句是( )
A.一个分号; B.一对花括号{} C.//注释符号 D.NULL空指针
3. 复合语句使用什么符号括起来( )
A.圆括号() B.方括号[] C.花括号{} D.尖括号<>
4. printf函数的主要用途是( )
A.从键盘输入数据 B.向标准输出设备输出数据 C.计算表达式的值 D.定义变量
5. scanf函数的主要用途是( )
A.向文件输出数据 B.从标准输入设备读取数据
C.计算表达式的值 D.定义变量并初始化
6. printf中,输出整数的格式控制符是( )
A.%f B.%d C.%c D.%s
7. printf中,输出浮点数的格式控制符是( )
A.%d B.%f C.%c D.%s
8. printf中,输出单个字符的格式控制符是( )
A.%d B.%f C.%c D.%s
9. printf中,输出字符串的格式控制符是( )
A.%d B.%f C.%c D.%s
10. 在scanf中,输入整数的格式控制符是( )
A.%f B.%d C.%c D.%s
11. 下列关于scanf,正确的是( )
A.scanf不需要格式控制符 B.scanf中变量名前需要加&取地址符
C.scanf用于向屏幕输出数据 D.scanf不需要格式控制字符串参数
12. 在scanf函数中,变量名前面通常需要加( )
A.. B., C.& D.*
13. 下列关于printf和scanf,正确的是( )
A.printf用于输入,scanf用于输出 B.两者都需要格式控制字符串
C.两者都不需要格式控制字符串 D.两者都不需要变量或表达式列表
14. putchar函数用于( )
A.输出字符串 B.输出单个字符 C.输入字符 D.计算字符的ASCII值
15. getchar函数用于( )
A.输入字符串 B.输入单个字符 C.输出单个字符 D.计算表达式
16. 下列关于复合语句,正确的是( )
A.复合语句不能包含变量定义
B.复合语句中定义的变量只在本复合语句中有效
C.复合语句必须使用return语句结束
D.复合语句不能嵌套使用
17. 在printf的格式字符串中,
表示( )
A.制表符(Tab) B.回车换行符 C.反斜杠字符 D.空字符结束标志
18. 想要在printf中输出%字符本身,应该使用( )
A.% B.%% C.\% D.%c
19. 下列关于空语句,正确的是( )
A.空语句没有任何作用,不能使用 B.空语句可以用于作为循环体
C.空语句会产生编译错误 D.空语句必须包含空格或注释
20. C语言中的输入输出操作是通过什么实现的( )
A.专用输入输出语句 B.函数调用标准库函数 C.专用运算符 D.专用关键字
二、判断题(共10题,每题1分,共10分)
21. 表达式语句是表达式后加分号构成的( )
22. 空语句就是一个分号;( )
23. 复合语句必须使用return语句结束( )
24. printf函数用于输入数据( )
25. 在scanf中,变量名前需要加&取地址符(数组名除外)( )
26. %d是输出浮点数的格式控制符( )
27. getchar函数用于从键盘输入一个字符( )
28. putchar函数一次只能输出一个字符( )
29. C语言有专门的输入输出语句( )
30. 复合语句中定义的变量在整个程序中都有效( )
三、填空题(共10空,每空2分,共20分)
31. C语言中,表达式后加____就构成了表达式语句。
32. 空语句只包含一个____符号。
33. 复合语句使用____和____(填写符号)括起来。
34. printf函数中,输出整数的格式控制符是____。
35. printf函数中,输出浮点数的格式控制符是____。
36. printf函数中,输出字符串的格式控制符是____。
37. 在scanf函数中,变量名前需要加____符号获取变量地址。
38. getchar函数用于输入一个____,putchar函数用于输出一个____。
39. 在printf的格式字符串中,
表示____。
40. C语言的输入输出操作是通过调用____来实现的。
四、程序综合题(共3题,每题10分,共30分)
41. 程序填空题:阅读下列程序,请将①~④表示的内容填写完整。
(1) #include <stdio.h>
(2) int main()
(3) {
(4) int x;
(5) float y;
(6) scanf("%d%f",&x,&y);
(7) printf("x=%d,y=%.1f
",x,y);
(8) return 0;
(9) }
上述程序中,第4行变量x的数据类型是①____,scanf函数中&x表示②____,
第6行输入格式"%d%f"表示③____,第7行%.1f表示④____。
42. 程序填空题:以下程序统计字符串中数字字符的个数。请将①~④表示的内容填写完整。
#include <stdio.h>
#include <string.h>
int main()
{
char s[100];
int i,count=0;
gets(①____);
for(i=0;②____;i++)
{
if(s[i]>=③____&&s[i]<=④____)
count++;
}
printf("数字字符个数:%d
",count);
return 0;
}
43.文件palin.txt中存放一个正整数(位数≥5)。用削峰法删除2个数字,判断能否构成回文数,若能则输出最大的回文数。请完善程序。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define DEL 2
int is_palin(char s[]);
int make_palin(char strn[],int deln);
int main()
{
char strn[50];
int result;
FILE *fp=fopen("palin.txt","r");
fscanf(fp,"%s",strn);
fclose(fp);
result=make_palin(strn,DEL);
if(result>0)printf("最大回文数:%d
",result);
else printf("无法构成回文数");
return 0;
}
int is_palin(char s[])
{
int i,len=strlen(s);
for(i=0;i<len/2;i++)
if(①)return 0;
return 1;
}
int make_palin(char strn[],int deln)
{
int lenth=strlen(strn);
int i,k,dn,maxp=-1,num;
char tmp[50];
for(dn=1;dn<=deln;dn++)
{
i=0;
while(strn[i]>=strn[i+1]&&i<lenth-dn)
i++;
for(k=i;k<lenth-dn;k++)
②;
}
if(is_palin(strn))
{
num=0;
for(k=0;k<lenth-deln;k++)
num=num*10+strn[k]-'0';
if(num>maxp)maxp=num;
}
return maxp;
}
学科网(北京)股份有限公司
$