(完整版)C语言考试试题基础版
一、选择题
1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。
A. main
B. MAIN
C. name
D. function
2. 在以下关于C 语言的注释的叙述中,不正确的是 。
A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示
B .编译器在编译一个程序时,将跳过注释,不对其进行处理
C .编译器在编译一个程序时,可发现注释中的单词拼写错误
D .程序中注释的多少不会影响所生成的可执行文件的长度
3. 以下叙述不正确的是 。
A .在C 程序中,严格区分大小写字母
B .一个
C 源程序有且仅有一个main 函数
C .在C 程序中,注释只能位于一条语句的后面
D .一个C 程序总是从main 函数开始执行
4. 下列合法的标识符为
A. abde+
B. #KDJF
C. 67KDJ
D. DK3_
5. 关于字符串和字符的关系正确的是
A. “A ”与’A ’是相同的
B. 字符串是常量,字符是变量
C. “A ”与’A ’是不同的
D. “A ”与“A ”是相同的
6. 下面关于语句的说法正确的是
A. 下面这两段程序的执行效果是一致的
B. 空语句是只有一个分号的语句,它其实什么也不干
C. 语句的构成不一定需要分号
D. 语句的书写对程序的运行不起作用,因此可以随便写都可以
7. 以下各标识符中,合法的用户标识符组为 。
A. PAd ,P#d ,b-b ,abc ,_0123,ssiped
B. cin ,a10,CPP ,float ,del_word ,signed
C. void ,max ,hiy ,,list ,*jer
if (x>y)
{z=x; s=z*z;}
else
{z=y;s=1/(z*z);}
if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);
D.a,temp,_isw,INT,keep,wind
8.字符串“\”E OF= -\61\””的长度是。
A.8B.9 C.12 D.非法字符串9.数学式x
sin在C程序中对应的不正确的表达式为。
A.sqrt(sin(x)>0?sin(x):-sin(x)) B.sqrt(fabs(sinx))
C.sqrt(sqrt(sinx*sinx)) D.fabs(sqrt(sin(x)))
10.下列是C语言的有效标识符?
A._No1 B.No.1 C.12345 D.int
11.C语言中,表示一条语句结束的标号是
A.# B.; C.// D.}
12.每个C程序中都必须有且仅有一个
A.类B.预处理命令C.主函数D.语句13.下列数据类型不是C语言基本数据类型的是。
A.字符型B.整型C.实型D.数组
14.下列字符列中,可作为C语言程序自定义标识符是。
A.switch B.file C.break D.do
15.运算符+、<=、=、% 中,优先级最低的运算符是。
A.+ B.<= C.= D.%
16.下列字符列中,可以作为“字符串常量”的是。
A.ABC B.″xyz″C.′uvw′ D.′a′
17.字符串"vm\x43\\\np\102q"的长度是。
A.8 B.10 C.17 D.16
18.在C语言中,自定义的标识符。
A.能使用关键字并且不区分大小写
B.不能使用关键字并且不区分大小写
C.能使用关键字并且区分大小写
D.不能使用关键字并且区分大小写
19.设x和y均为逻辑型变量,则x && y为真的条件是。
A. 它们均为真
B. 其中一个为真
C. 它们均为假
D. 其中一个为假
c语言中struct20.若给定条件表达式(m)?(a++): (a--),则其中表达式m 。
A. 和(m= =0)等价
B. 和(m= =1)等价
C. 和(m!=0)等价
D. 和(m!=1)等价
21.在if语句中,用作判断的表达式为。
A. 关系表达式
B. 逻辑表达式
C. 算术表达式
D. 任意表达式
22.设i和k都是int类型,则以下for循环语句。
for ( i=0, k= -1; k=1; i++, k++ ) printf("****\n");
A. 判断循环结束的条件不合法
B. 是无限循环
C. 循环体一次也不执行
D. 循环体只执行一次
23.若有以下语句,则输出结果为。
int a=2,b=1;
string s1;
s1= a>b?"a大于b":"a小于b";
printf("%s\n", s1);
A. a大于b
B. a小于b
C. 1
D. 输出语句有错
24.int k=10;
while(k=0) k=k-1;
则下面描述正确的是。
A. while循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
25.int a=1,b=2,c=2,t;
while(a
printf("%d,%d,%d\n",a,b,c);
运行结果为。
A. 1,2,0
B. 2,1,0
C. 1,2,1
D. 2,1,1
26.int x=-1;
do
{x=x*x;}
while(!x);
下列说法正确的是。
A. 是死循环
B. 循环执行两次
C. 循环执行一次
D. 有语法错误
27.以下能正确计算1*2*3*…*10的程序段是。
A. do {i=1;s=1;
B. do {i=1;s=0;
s=s*i; i++;} s=s*i;i++;}
while(i<=10); while(i<=10);
C. i=1;s=1;
D. i=1;s=0;
do {s=s*i; do{s=s*i;
i++;} i++;}
while(i<=10); while(i<=10);
28.以下描述正确的是。
A. 由于do-while循环中循环体语句只是一条可执行语句,所以循环体内不能
使用复合语句
B. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C. 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)
的操作
D. do-while循环中,根据情况可以省略while
29.while和do-while循环的主要区别是。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论