C语言:选择题

《C语言程序设计》
基础知识练习
50101、 在C语言源程序中,以下叙述正确的是( )。答案:C
A、 main函数必须位于文件的开头
B、 每行只能写一条语句
C、 程序中的一个语句可以写成多行
D、 每个语句的最后必须有点号
50102、 关于C语言的源程序的叙述中,错误的是( )。答案:C
A、 C语言的源程序由函数构成
B、 main函数可以书写在自定义函数之后
C、 必须包含有输入语句
D、 一行可以书写多个语句 
50103、 关于C语言数据类型的叙述,正确的是( )。答案:C
A、 枚举类型不是基本类型
B、 数组不是构造类型
C、 变量必须先定义后使用
D、 不允许使用空类型
50104、 C程序中main函数的位置( )。
答案:C
A、 必须在最开始
B、 必须在系统库函数后面
C、 可以在自定义函数后面
D、 必须在最后
50105、 C语言的函数体由( )括起来。
答案:B
A、 ( )
B、 { }
C、 [ ]
D、 /* /
50106、 关于C语言的叙述中,不正确的是( )。
答案:D
A、 C程序可由一个或多个函数组成
B、 C程序必须包含一个main()函数
C、 C程序的基本组成单位是函数
D、 注释说明只能位于一条语句的后面
50107、 以下叙述不正确的是( )。
答案:D
A、 C程序的执行总是从main函数开始
B、 一个C源程序必须包含一个main函数
C、 C语言程序的基本组成单位是函数
D、 在编译C程序源程序时,可发现注释中的拼写错误
50108、 结构化程序设计的三种基本结构是( )。
答案:C
A、 函数结构、分支结构、判断结构
B、 函数结构、嵌套结构、平行结构
C、 顺序结构、分支结构、循环结构
D、 分支结构、循环结构、嵌套结构
50109、 对于C语言源程序,以下叙述错误的是( )。
答案:C
A、 可以有空语句
B、 函数之间是平等的,在一个函数内部不能定义其它函数
C、 程序调试时如果没有提示错误,就能得到正确结果
D、 注释可以出现在语句的前面
50201、 下面关于C语言用户标识符的描述,正确的是( )。
答案:D
A、 不区分大小写
B、 用户标识符不能描述常量
C、 类型名也是用户标识符
D、 用户标识符可以作为变量名
50202、 以下( )是正确的变量名。
答案:D
A、 5f
B、 if
C、 f.5
D、 _f5
50203、 以下( )是正确的常量。
答案:D
A、 E-5
B、 1E5.1
C、 ‘a12’
D、 32766L
50204、 以下( )是正确的变量名。
答案:D
A、 a.bee
B、 -p11
C、 intD、 p_11
50205、 以下( )是正确的字符常量。
答案:C
A、 “c”
B、 ‘\’’
C、 ‘W’
D、 “\32a”
50206、 以下( )是不正确的字符串常量。
答案:A
A、 ‘abc’
B、 “12’12”
C、 “0”
D、 " "
50207、 以下( )是错误的整型常量。
答案:B
A、 -0xcdf
B、 018
C、 0xe
D、 011
50208、 以下( )是正确的浮点数。
答案:B
A、 e3
B、 .62
C、 2e4.5
D、 123
50209、 若有说明语句:char c=’\95’; 则变量c包含( )个字符。
答案:A
A、 1
B、 2
C、 3
D、 语法错误
50301、 若有定义:int a=2; 则正确的赋值表达式是( )。
答案:A
A、 a-=(a
3)
B、 double(-a)
C、 a3
D、 a
4=3
50302、 语句x=(a=3,b=++a);运行后,x、a、b的值依次为( )。答案:C
A、 3,3,4
B、 4,4,3C、 4,4,4
D、 3,4,3
50303、 语句a=(3/4)+3%2;运行后,a的值为( )。
答案:B
A、 0
B、 1
C、 2
D、 3
50304、 char型变量存放的是( )。
答案:A
A、 ASCII代码值
B、 字符本身
C、 十进制代码值
D、 十六进制代码值
50305、 若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( )。
答案:C
A、 3,3
B、 4,4
C、 4,3
D、 3,4
50306、 若有定义:int a; 则语句a=(3 * 4)+ 2 % 3;运行后,a的值为( )。
答案:B
A、 12
B、 14
C、 11
D、 17
50307、 若有定义:int a,b; double x,则以下不符合C语言语法的表达式是( )。
答案:A
A、 x%(-3)
B、 a+=-2
C、 a=b=2
D、 x=a+b
50308、 若有定义:int x=2,y=3;float i;,则以下符合C语言语法的表达式是( )。
答案:B
A、 x=x3=2
B、 x=(y==1)
C、 i=float(x)
D、 i%(-3)
50309、 设double型变量a,b,c,e均有值;对代数式(3ae)/(bc),不正确的C语言表达式是( )。
答案:C
A、 a/b/c
e3
B、 3
ae/b/c
C、 3
ae/bc
D、 ae/c/b3
50401、 下面叙述正确的是( )。
答案:B
A、 2/3 与 2.0/3.0 等价
B、 (int)2.0/3 与 2/3 等价
C、 ++5 与 6 等价
D、 ‘A’与"A"等价
50402、 下面叙述中,错误的是( )。
答案:A
A、 其算术运算对象不包含函数
B、 %(模运算符)的运算对象只能为整型量
C、 算术运算符的结合方向是"自左至右"
D、 自加和自减运算符的结合方向是"自右至左"
50403、 下面叙述正确的是( )。
答案:A
A、 强制类型转换运算的优先级高于算术运算
B、 若a和b是整型变量,(a+b)++是合法的
C、 ‘A’‘B’ 是不合法的
D、 “A”+"B"是合法的
50404、 若有定义:int k,i=2,j=4; 则表达式 k=(++i)
(j–) 的值是( )。
答案:B
A、 8
B、 12
C、 6
D、 9
50405、 设整型变量a为5,使b不为2的表达式是( )。
答案:C
A、 b=(++a)/3
B、 b=6-(–a)
C、 b=a%2
D、 b=a/2
50406、 若有定义:int a=1,b=2,c=3; 则语句 ++a||++b&&++c;运行后b的值为( )。
答案:C
A、 1
B、 0C、 2D、 3
50407、 若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是( )。
答案:B
A、 7
B、 8
C、 9
D、 10
50408、 若有定义:int a,b;则表达式(a=2,b=5,a2,b++,a+b)的值是( )。
答案:B
A、 7
B、 8
C、 9
D、 10
50409、 若有定义:int m=5,n=3;则表达式(m+1,n+1,(–m)+(n–))的值是( )。
答案:B
A、 6
B、 7
C、 8
D、 9
50501、 已知 int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是( )。
答案:B
A、 scanf("%d",a);
B、 scanf("%d",&a);
C、 scanf("%f",&a);
D、 scanf("%lf",&a);
50502、 已知 double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是( )。
答案:D
A、 scanf("%ld",&a);
B、 scanf("%d",&a);
C、 scanf("%7.2f",&a);
D、 scanf("%lf",&a);
50503、 已知 char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是( )。
答案:B
A、 scanf("%d",&a);
B、 scanf("%lf",&a);
C、 scanf("%c",&a);
D、 scanf("%u",&a);
50504、 putchar()函数的功能是向终端输出( )。
答案:B
A、 多个字符
B、 一个字符
C、 一个实型变量值
D、 一个整型变量表达式
50505、 getchar()函数的功能是从终端输入( )。
答案:D
A、 一个整型变量值
B、 一个实型变量值
C、 多个字符
D、 一个字符
50506、 若有定义:int x=1234,y=123,z=12;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为( )。
答案:D
A、 123412312
B、 12341234123412341231231231212
C、 1234+1234+1234
D、 1234+123+12
50507、 已有如下定义和输入语句,
int a; char c1,c2;
scanf("%d%c%c",&a,&c1,&c2);
若要求a、c1、c2的值分别为10、A和B,正确的数据输入是( )。
答案:A
A、 10AB
B、 10 A B
C、 10A B
D、 10 AB
50508、 已有如下定义和输入语句:
int a,b;
scanf("%d,%d",&a,&b);
若要求a、b的值分别为10和20,正确的数据输入是( )。
答案:B
A、 10 20
B、 10,20
C、 a=10,b=20
D、 10;20
50509、 以下程序的运行结果是( )。
void main()
{
int a=65;
char c=‘A’;
printf("%x,%d",a,c);
}
答案:D
A、 65,a
B、 41,a
C、 65,65
D、 41,65
50601、 下面叙述中,( )不是结构化程序设计中的三种基本结构之一。
答案:A
A、 数据结构
B、 选择结构
C、 循环结构
D、 顺序结构
50602、 下面叙述中,( )不是结构化程序设计三种基本结构的共同特点。
答案:A
A、 先判断后执行
B、 单入口,单出口
C、 程序中没有执行不到的语句
D、 无死循环
50603、 结构化程序设计不包括( )。
答案:A
A、 最优化
B、 自顶而下,逐步细化
C、 模块化设计
D、 结构化编码
50604、 以下运算符中优先级最高的是( )。
答案:D
A、 >
B、 ||
C、 &&
D、 +
50605、 若有定义:int x=3,y=4;则表达式 !x||y 的值为( )。
答案:A
A、 1
B、 O
C、 3
D、 4
50606、 若有定义:int i=7,j=8;则表达式 i>=j||i<j 的值为( )。
答案:A
A、 1
B、 变量i的值
C、 0
D、 变量j的值
50607、 若希望当a的值为奇数时,表达式的值为"真",a的值为偶数时,表达式的值为"假"。则不能满足要求的表达式是( )。
答案:C
A、 a%21
B、 !(a%2
0)
C、 !(a%2)
D、 a%2
50608、 若有定义:int x=3,y=4,z=5;则值为0的表达式是( )。
答案:D
A、 ‘x’&&‘y’
B、 x<=y
C、 x||y+z&&y-z
D、 !((x<y)&&!z||1)
50609、 若有定义:int a=5,b=2,c=1;则表达式a-b<c||b==c的值是( )。
答案:A
A、 0
B、 1
C、 2
D、 -1
50701、 已知double a=5.2; 则正确的赋值表达式是( )。
答案:A
A、 a+=a-=(a=4)
(a=3)
B、 a=a3=2
C、 a%3
D、 a=double(-3)
50702、 已知char a=‘R’; 则正确的赋值表达式是( )。
答案:A
A、 a=(a++)%4
B、 a+2=3
C、 a+=256–
D、 a=’\078’
50703、 已知int a=‘R’; 则正确的表达式是( )。
答案:A
A、 a%10
B、 a=int(3e2)
C、 2
a=a++
D、 a=a+a=a+3
50704、 设单精度型变量f、g的值均为2.0,使f为4.0的表达式是( )。