C语言练习题(一)
选择题
1.以下叙述错误的是:
A.一个C程序可以包含多个不同名的函数
B.一个C程序只能有一个主函数
C.C程序在书写时,有严格的缩进要求,否则不能编译通过
D.C程序的主函数必须用main作为函数名
2.设有以下语句 char  ch1,ch2,;scanf(“%c%c,&ch1,&ch2;
若要为变量ch1ch2分别输入字符AB,正确的输入形式应该是
A.Aprintf输出格式16B之间用逗号间隔        B.AB之间不能有任何间隔符
C.AB之间可以用回车间隔    D.AB之间用空格间隔
3.以下选项中非法的字符常量是
A.\102    B.\65      C.\xff        D.\019
4.有以下程序
#include <sthio.h>
void main()
{ int A=0,B=0,C=0; C=(A-=A-5);(A=B,B+=4); Printf(%d, %d, %d\n,A,B,C) } 程序运行后输出的结果是
A 0,4,5        B 4,4,5        C  4,4,4      D 0,0,0
5.设变量均已正确定义并且赋值,以下与其他三组输出结果不同的一组语句是
A.x++; printf((%d\n,x);              B.n=++x; printf((%d\n,n);
C.++x; printf((%d\n,x);              D.n=x++; printf((%d\n,n);
6.以下选项中,能表示逻辑值“假”的是
A 1              B  0.000001          C  0          D 100.0
7.以下选项中关于c语言常量的叙述错误的是(    )
A所谓常量,是指在程序运行过程中,其值不能被改变的量
B常量分为整型常量、实型常量、字符常量和字符串常量
C常量可分为数值型常量和非数值型常量
D经常被使用的变量可以定义成常量
8.若有定义语句int a=10double b=3.14则表达式'A'+a+b值的类型是(    )
A char    B int    C double    D float
9.若有定义语句 int x=12,y=8,z; 在其后执行语句z=0.9+x/y;Z的值为(    )
A 1.9    B 1    C 2    D 2.4
10.若有定义 int ab 通过语句scanf("%d;d",&a,&b); 能把整数3赋给变量a,5赋给变量b的输入数据是(    )
A 3 5    B 3,5    C 3;5    D 35
11.若有定义语句 int k1=10,k2=20; 执行表达式(k1=k1>k2)&&(k2=k2>k1)
k1k2的值分别为(    )
A 01    B 020    C 101    D 1020
12.以下不能输出字符A的语句是(:字符AASCIl码值为65。字符aASCIl码值为97)
A printf("%c\n"'a'-32)B printf("%d\n"'A')
C printf("%c\n"65)    D printf("%c\n"'B'-1)
13.以下选项中可用作C程序合法实数的是   
A .1e0              B 3.0e0.2    C E9                D 9.12E 
14.若有定义语句int a=3,b=2,c=1; 以下选项中错误的赋值表达式是 
A a=(b=4)=3;          B a=b=c+1;  C a=(b=4)+c;          D a=1+(b=c=4)
15.有以下程序 
#include  <stdio.h>
void main()
{ int x=011;  printf("%d\n",++x); }程序运行后的输出结果是 
A 12          B 11            C 10          D 9
16.以下选项中,能用作数据常量的是
A o115            B 0118              C 1.5e1.5          D 115L 17.设有定义 int x=2; 以下表达式中,值不为6的是
A x*=x+1        B x++,2*x    C x*=1+x       D 2*x,x+=2
18.以下关于C语言的叙述中正确的是
A 语言中的注释不可以夹在变量名或关键字的中间  
B 语言中的变量可以在使用之前的任何位置进行定义  
C C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D C语言的数值常量中夹带空格不影响常量值的正确表示    
19.以下C语言用户标识符中,不合法的是
A  _1    B  AaBc  C  a_b  D a——b                          20.若有定义double a=22;int i=0,k=18;则不符合C语言规定的赋值语句是
A  a=a++,i++;  B  i=(a+k)<=(i+k);  C 1=a%11;  D  i=!a;           21.有以下程序
#include<stdio.h> 
void main()
{char a,b,c,d;
scanf(%c%c,&a,&b);c=getchar();d=getchar;printf(%c%c%c%c\n,a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始<CR>代表回车,注意:回车也是一个字符)
12<CR>
34<CR>
则输出结果:
A 1 2 3 4    B 1 2    C 1 2      D 1 2
3          3 4
22.a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是
A 1        B 0        C 2    D 不知道a的值,不能确定
23.以下选项中,能用作用户标识符的是
A void    B 8_8    C _0_      D unsigned
24.阅读以下程序 
#include<stdio.h> 
void main() 
{ int case; float  printF;   
printf(“请输入2个数:); 
scanf(%d%f,&case,&pjrintF);   
printf(%d%f\n,case,printF); 
} 
该程序编译时产生错误,其出错原因是 
A 定义语句出错,case是关键字,不能用作用户自定义标识符 
B 定义语句出 printF不能用作用户自定义标识符 
C 定义语句无错 scanf不能作为输入函数使用 
D定义语句无错 printf不能输出case的值
25表达式 (int)((double)9/2)-(9)%2的值是
A 0      B 3      C 4      D
26.若有定义语句 int x=10; 则表达式x-=x+x的值为 
A -20  B -10  C 0  D 10
27有以下程序 
#include <sdtio.h> 
void main() 
{ int a=1,b=0; 
printf(%d,,b=a+b); 
printf(%d\n,a=2*b);
程序运行后的输出结果是
A  0,0      B 1,0    C 3,2    D 1,2
28.有以下定义语句,编译时会出现编译错误的是 
A char a=a;  B char a=\n;  C char a=aa;  D char a=\x2d;
29有以下程序
#include <stdio.h>
void main()
{ char c1,c2;  c1=A+8-4;  c2=A+8-5
printf(%c,%d\n,c1,c2);
} 已知字母AASCII码为65 程序运行后的输出结果 
A E,68      B D,69    C E,D          D 输出无定值
30.以下叙述中正确的是( )。
A C 程序的基本组成单位是语句 B C 程序中的每一行只能写一条语句
C 简单C 语句必须以分号结束  D C 语句必须在一行内写完
31.计算机能直接执行的程序是( )。
A 源程序 B 目标程序 C 汇编程序 D 可执行程序
32.以下选项中不能作为C 语言合法常量的是( )。
cd'  B 0.1e+6 C "\a" D '\011'
33.以下选项中正确的定义语句是( )。
A double a; b; B double a=b=7; C double a=7, b=7; D double, a, b;
34.C 源程序中不能表示的数制是()。
A二进制  B八进制  C 十进制  D十六进制
35.若有表达式(w)?(- -x):(++y),则其中与w 等价的表达式是( )。
A w= =l      B w= =0        C w!=l    D w!=0
36.执行以下程序段后,w 的值为( )。
int w='A', x=14, y=15;
w=((x || y)&&(w<'a'));
A -1    B NULL    C l      D 0
37.若变量已正确定义为int 型,要通过语句scanf("%d, %d, %d", &a, &b, &c);给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是( ò 代表一个空格符)( )。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。