C语言复习(修订版)
一、判断题:
1.’\x72’、’\n’、’\\’ 都是字符常量。( )。
2.若有说明int c;则while(c=getchar());是正确的C语句。 ( )
3.int *p=&a ,a=0;是正确的C变量定义语句。 ( )
4.C语言程序从main函数开始执行,所以main函数必须写在其他被调用的函数之前。( )
5.表达式7=3+4不正确。 ( )
6.字符数组char str[ ]="abcd"; 有5个数组元素( )
7.while 1 i,j; 一定是错误的C语句。 ( )
8.for( ; ; )S中的语句S必执行无穷多次。 ( )
9.用字符型指针变量p作为函数void fa(char *pa)的实际参数时,应采用以下的命令格式fa (*p ); ( )
10.sub()和Sub( )是不同的函数 ( )
11.在C程序中,函数中所定义的局部变量与全局变量同名时,局部变量屏蔽全局变量。( )
12.全局外部变量定义命令必须写在函数之外。( )
13.指针变量算术运算只能可作+、—运算。( )
14.如有定义float a[10]; 可定义表达式a=a+1。( )
15.在逻辑表达式的计算中,必须所有的逻辑远算符都被执行后,才会结束表达式的计算( )
16.数组名作为函数实际参数,传送的是位置( )
17.若变量pointer是指针变量,命令pointer=0x2000; 是正确的赋值命令. ( )
18.int c[2][ ]={{1,2},{3,4}}; 是正确的二位数组定义命令。( )
19.printf("%5. 3f\n",123456.12345);输出为23456.123 ( ) 。
20.变量定义 char *(pa) [4] ;说明pa是用于数组处理的指针。
21.用命令scanf("%s",name); 对字符数组进行输入操作,当键入“I am a Student”时,数组的内容为“I”。 ( )
22.表达式 ‘B’+a’-‘A’ 的结果是’b’ ( )
23.while ( ) { ;} 表示无限循环 ( )
24.switch (j) {……..} 语句中的变量j可以是浮点型变量( )
25.全局变量的不加存储方式修饰符时,说明其存储类型为auto( )
26.指针变量本身没有指针( )
27.用关键字“struct” 定义的内容是数据类型( )
二、 单项选择题:
(1)若有定义数组命令“int b[ ][3]={{1, 2, 3},{ 4, 5},{ 6, 7}}”,则b数组第1维的长度是( )
A) 2 B) 3 C) 4 D) 无确定值
b[2][2]的值是( )
A) 0 B) 1 C) 7 D) 无确定值
(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 。
A)必须为字母或下划线。 B)必须为下划线。
C)必须为字母 D)可以是字母、数字和下划线中的任一种字符。
(3) 下面四个选项中,均是正确的八进制数或十六进制数的选项是 。
A)-10 0x8f -011 B) 010 -0x11 0xf1
C) 0abc -017 0xc D) 0a12 -0x123 -0xa
(4)以下选项中非法的表达式是( )
A)0<6x<100 B)i3=j3==0
C)(char)(65+3) D)x+y==x+z
(5) 若有定义:int a = 7; floa x = 2.5 , y = 4.7 ; 则表达式
x + a % 3 * (int) (x + y) % 2/4 的值是( ) 。
x + a % 3 * (int) (x + y) % 2/4 的值是( ) 。
A) 2.750000 B) 0.00000 C) 3.500000 D) 2.500000
(6) 已有定义: int a=8,则以下表达式中b的值不等于2的是:( )
A)b=a/3 B) b=10-(a++) C) b=a%2 D) b=a>3?2:1
(7)已知ch是字符型变量,下面不正确的赋值语句是 ( ) 。
A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ;
(8) 设x , y和int型变量,且x = 3, y = 4 , z = 5 则下面表达式中使x值为0的是( ) 。
A)!((z < y )&&(x-=3)) B) (x-y-1 ) && y
C) (z-y) || (!(x-=3)) D) y||z&&(x-=3)
(9)设有程序段
int k = 10 ;
while ( k = 0 ) k = k - 1 ;
以下描述正确的是 ( ) 。
A) 循环体语句一次也不执行。 B) 循环是无限循环。
C) while 循环语句执行十次。 D) 循环体语句执行一次。
(10)设有定义“char s[12]={“abcdef”};”则命令“printf(“%d\n”,strlen(s));”的输出结果为( )
A) 随机值 B) 7 C) 6 D) 12
(11) 当a = 1 , b = 3 , c =5 d=4时,则执行完下面一段程序后,x的值是 ( ) 。
if ( a < b )
if ( c < d ) x = 1;
else
if ( a < c )
if ( b < d ) x = 2 ;
else x = 3 ;
else x = 6 ;
else x = 7 ;
A)1 B) 3 C) 2 D) 6
(12) 下面程序的运行结果是 。
# include " stdio.h "
void main ( )
{ int a = 1 , b = 10
do
{ b - = a ; a + + ; }
while ( b - - < 0 ) ;
printf ( " a = % d , b = % d \ n ), a , b );
A)a = 3 , b = 11 B)a = 4 , b = 9
C)a = 1 , b = -1 D)a = 2 , b = 8
(13 ) 调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( )
A) 数组长度 B) 数组的首位置
C) 数组第一个元素的值 D) 整个数组元素的值
(14) 若有说明:int a[10] ; 则对a 数组元素的正确引用是( ) 。
A) a [10 ] B)a[10 - 10] C)a ( 5 ) D)a[3.5]
(15) 根据定义和数据的输入方式,输入语句的正确形式为 。
已有定义:float f1,f2;
数据输入方式:4.25,3.5
A)scanf ("%f%f ",&f1,&f2); B) scanf ("%f ,%f ",&f1,&f2);
C) scanf ("%3.2f %2.1f ",&f1,&f2); D) scanf ("%2.1f %3.2f ",&f1,&f2);
(16)有以下程序
void main( )
{ int a[2][3]={{1, 2, 3},{4, 5, 6}};
int m,(*p)[3]=a;
m=(*(*p)) *(*(*(p+1)+2));
printf("%d\n",m);
}
执行后输出的结果是( )
以下()是不正确的字符串常量A)3 B) 4 C) 1 D) 6
(17)以下if语句语法正确的是 。
A) if (x>0) B) if (x>0) printf ( "%f ",-x )
{ x=x+y; printf ("%f ", x);} else printf ("%f",-x);
else printf ("%f ", -x);
C) if (x>0) D) if(x>0)
{x=x+y ; printf ("%f ", x);}; {x=x+y ; peintf ("%f", x)}
else printf ("%f", -x) ; else printf ("%f", -x);
(18) 下列程序的输出结果是( )
void main( )
{ int i;
for(i=’A’;i<’I’;i++,++i) printf(“%c”,i+32);
printf(“\n”);
}
A)编译不通过,无输出 B)aceg C)acegi D)abcdefghi
(19) 下列程序的输出结果是( )
void main()
{ int a=2, *p=&a;
printf ("%d%d", (*p) ++,*p;)
A) 23 B)22 C)2 D)21
(20) 逻辑运算符两侧运算对象的数据类型 。
A)只能是0或1 B) 可以是整型、字符型或实型数据
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论