C语言练习题(一)
一 选择题
1.以下叙述错误的是:
A.一个C程序可以包含多个不同名的函数
B.一个C程序只能有一个主函数
C.C程序在书写时,有严格的缩进要求,否则不能编译通过
D.C程序的主函数必须用main作为函数名
2.设有以下语句 char ch1,ch2,;scanf(“%c%c”,&ch1,&ch2);
若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是
A.A和printf输出格式16B之间用逗号间隔 B.A和B之间不能有任何间隔符
C.A和B之间可以用回车间隔 D.A和B之间用空格间隔
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=10;double 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 a,b; 通过语句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)后
k1和k2的值分别为( )。
A 0和1 B 0和20 C 10和1 D 10和20
12.以下不能输出字符A的语句是(注:字符A的ASCIl码值为65。字符a的ASCIl码值为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 5
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);
} 已知字母A的ASCII码为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 语言合法常量的是( )。
A ’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小时内删除。
发表评论