安大计算机c语言复习题目与复试真题回顾.docx
《安大计算机c语言复习题目与复试真题回顾.docx》由会员分享,可在线阅读,更多相关《安大计算机c语言复习题目与复试真题回顾.docx(27页珍藏版)》请在冰点文库上搜索。
![安大计算机c语言复习题目与复试真题回顾.docx](https://file1.bingdoc.com/fileroot1/2023-5/21/fcad3e94-47cf-490e-9c8a-a72aed6f08b3/fcad3e94-47cf-490e-9c8a-a72aed6f08b31.gif)
安大计算机c语言复习题目与复试真题回顾
1.一个C程序的执行是从【A 】。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到到本程序文件的最后一个函数结束
D)到本程序文件的第一个函数开始,到本程序的main函数结束
2.一个C语言程序是由【 B 】。
A)一个主程序和若干子程序组成
B)函数组成
C)若干过程组成
D)若干子程序组成
3.C语言规定,在一个源程序中,main函数的位置【 C 】
A)必须在最开始 B)必须在系统调用的库函数的后面
C)可以在任何位置 D)必须在最后
4.在C语言中,数字0X26是一个【 D 】进制数
A)二 B)八 C)十 D)十六
5.设宏定义为#define ABC(x) x*x ,引用ABC(1+2*3)后的获值是【 D 】。
A)49B)7 C) 14 D)13
6.设说明为 int a[3]={1,2},*p=a; 则*p与*(p+2)的值分别是【 A 】。
A)1和0 B) 0和1 C) 1和2 D) 2和0
7.设说明为 int a=10; 执行语句 a*=1+2+3;后a的值是【 D 】。
A) 15 B) 24 C) 33 D) 60
8.为表示关系x≥y≥z,应使用C语言表达式【 C 】。
A) (x>=y>=z) B)(x>=y)AND(y>=z)
C) (x>=y)&&(y>=z) D)(x>=y)&(y>=z)
9.说明语句:
int a[][3]={1,2,3,4,5,6,7,8,9}; 则a数组的行数为【 D 】 。
A)不确定B)1C)2D)3
10.以下程序时,从键盘输入25,13,10<回车>,则输出结果是【 A 】。
main(){
int a1,a2,a3;
scanf(“%d,%d,%d”,&a1,&a2,&a3);
printf(“a1+a2+a3=%d\n”,a1+a2+a3);}
A.a1+a2+a3=48B.a1+a2+a3=25
C.a1+a2+a3=10D.不确定
11.putchar函数可以向终端输出一个 【 D 】。
A)整型变量值B)实型变量值
C)字符串D)字符或字符变量值
12.执行下面程序,屏幕输出的值是【 C 】
int x;
printf(“%d\n”,(x=3*5,x+5));
A)10B)15C)20D)5
13.判断字符类型变量c是否为大写字母的正确表达式是【 C 】。
A)’A’<=c<=’Z’B)(c>=’A’) & (c<=’Z’)
C)(c>=’A’) && (c<=’Z’)D)(‘A’<=c) AND (‘Z’>=c)
14.C语言规定:
简单变量做实参时,它和对应形参之间的数据传递方式是【 B 】。
A)地址传递 B)单向值传递
C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式
15.下面程序段的运行结果是 【 A 】。
char *s=”abcde”;
s+=1;
printf(“%s\n”,s);
A)bcdeB)abcdeC)abD)b
16.若有定义:
int a[2][3],则以下对a数组元素的正确引用是【 B 】。
A)*(a+1)B)*(a[1]+2)C)&a[0][0]D)a[1]+3
17.若有定义:
int s[4][6],t[6][4],(*p)[6]; ,则以下正确的赋值语句是【 】。
A)p=t;B)p=s[2];C)p=s;D)p=t[3];
18.若有以下定义,则数组b占用内存的字节数是【 D 】。
char b[]=”C language”
A)14B)15C)8D)11
19.设说明为 char str[6]={‘a’,’b’,’\0’,’c’,’d’,’\0’};执行printf(“%s”,str);后输出的结果是【 C 】。
A)abcd B)abc C)ab D)ad
20.定义如下变量和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是【 C 】。
for (i=0; i<3; i++) printf("%d ",x[2-i]);
A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9
21.有如下程序
main( )
{
int a=10,b=4,c=3;
if(a
if(aprintf(“%d,%d,%d\n”,a,b,c);
}
运行后的输出结果是【 D 】。
A)3,4,10 B)4,4,3 C)3,4,3 D)10,4,3
22.在C语言中,合法的字符常量是 【 B 】。
A)'\084' B)'\x43'C)'ab' D)"\0"
23.若有定义和语句:
int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);
则输出结果是 【 D 】。
A)10,20 B)10,10C)20,10 D)20,20
24.若有以下定义和语句
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A');
则输出结果是【 B 】。
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
25.在以下一组运算符中,优先级最高的运算符是【 C 】。
A)<= B)=C)% D)&&
26.表达式(a=2,3) , a+1的值是【 C 】。
A)0 B)2 C)3 D)4
27.若执行printf("%d\n", strlen("a\n\"\x41"))语句其输出结果是【 D 】。
A)8B)7C)6D)4
28.在循环语句的循环体中执行break语句,其作用是【 A 】。
A)跳出该循环体,提前结束循环
B)继续执行break语句之后的循环体各语句
C)结束本次循环,进行下次循环
D)终止程序运行
29.执行语句for(i=10;i>0;i--);后,变量i的值为【 C 】。
A)10 B)9 C)0 D)1
30.如果定义一个整型变量int a;,使该变量字节不变,而正数值的表示范围扩大一倍的方式用【 C 】。
A)signed B)long C)unsigned D)float
31.表达式10 !
= 9的值是【 C 】。
A) true B)非零值 C) 1 D) 0
32.若int x=10;则表达式x+(char)1/2.0值的类型是【 B 】
A) int B) double
C) float D) unsigned
33.以下不属于C语言关键字的是【 B 】。
A)case B)byte C)do D)float
34.C语言中,以下 不是正确的常量。
【 B 】
A)543210L B)05078 C)-0x41 D)12345
35.以下四组中都能正确作为C语言程序标识符的是【 B 】组。
A)printf B)sort_1
row string_to_float
if PI
C) pow D) book->name
string book.price
1_abc A#B
36.使下列程序段输出“123,456,78”,由键盘输入数据,正确的输入是【 B 】。
int i,j,k;
scanf(“%d,%3d%d”,&i,&j,&k);
printf(“%d,%d,%d\n”,i,j,k);
A)12345678 B)123,456,78 C)123,45678 D)123,*45678
37.判断char类型的变量c1是否为数字字符的正确表达式为【 B 】。
A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)
C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)
38.若有语句int a=1,b=2,c=3;则以下值为0的表达式是【 D 】。
A)’a’&&’b’ B)a<=b C)(a>b)||(b(a+b)==c&&a)
39.C语言中的实数可以用多种形式表示,以下四种表示中,只有【C 】是错误的。
A) 23e+6 B)13e-4 C)0.3e1.2 D) .1234
40.下面四个选项中,均是不合法的转义字符的选项是【 B 】
A)'\"'B)'\1011'C)'\011'D)'\abc'
'\''''\f''\101'
'\xf''\a''\}''xlf'
41.以下符合C语言语法的赋值表达式是【 】
A)d=9+e=d+9B)d=9+e,f=d+9
C)d=9+e,e++,d+9D)d=9+e++=d+7
42.若已定义:
float aa=1234.5678; 则执行printf(“%6.2f%d/n”,aa,(int)(aa));则输出是【 D 】
A)1234.56 1234 B)1234.57 1235 C)1234.56 1235 D)1234.57 1234
43.如果有int a, b; scanf(“%d,%d”, &a, &b);语句, 则输入数据时,只可以用【 D 】作为输入的分隔符
A)TAB键 B)空格 C)回车 D),
44.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为【 C 】
x=(i=4,j=16,k=32)
A)4 B)16 C)32 D)52
45.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是【 A 】
A)scanf("%d%lx,%le",&x,&y,&z);
B)scanf("%2d*%d,%lf",&x,&y,&z);
C)scanf("%x%*d,%o",&x,&y);
D)scanf("%x%o%6.2f",&x,&y,&z);
46.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为【A 】
main()
{char ch1,ch2,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);
}
输入形式:
A B C
输出形式:
A B
A)scanf("%c%c%c",&ch1,&ch2,&ch3);
B)scanf("%c,%c,%c",&ch1,&ch2,&ch3);
C)scanf("%c %c %c ",&ch1,&ch2,&ch3);
D)scanf("%c%c",&ch1,&ch2,&ch3);
47.C语言中while语句中的判断表达式【 A 】
A)可以是任意有效表达式 B)必须是逻辑表达式
C)必须是关系表达式 D)必须是逻辑或关系表达式
48.表达式3&&6&&9的值是【 D 】
A)3 B)0 D)9 D)1
49.C语言中,若对函数类型无说明,则函数的默认类型是【 A 】
A)整型 B)float C)double D)指针类型
50.若已定义char ch[10]; 则以下表达式中只有【 C 】不是ch[1]的地址
A)ch+1 B) &ch[0]+1 C) ch++ D)&ch[1]
51.下列四个选项作中作为C语言中的字符常量,合法的是【 A 】。
A) ‘\t’ B) “c”C) 3bD) abc
52. C语言程序设计中,用户定义的函数可以嵌套调用, 还可以【 B 】
A)宏调用 B)递归调用 C)嵌套创建 D)同时定义
53.以下所列的C语言常量中,错误的是【 B 】
A)0xFF B) 078 C) 2L D) '\72'
54.以下选项中属于C语言的数据类型是【 C 】
A)复数型 B)逻辑型 C)双精度型 D)集合型
55. 在C语言中,字符型(char)数据在内存中是以【 D 】形式存储的。
A)原码B)补码C)反码D)ASCII码
56.以下变量x.、y、z均为double类型且已正确赋值,不正确的C语言表达式是【 A 】
A)x/y%z B) x*y*z C) x/y*5.0 D) x+y+(int)z
57.有以下语句 char c; c=’a’+‘3’-’1’; 执行后c的值为:
【 C 】
A).97B).2C). 99D.101
58.若定义了int x;则将x强制转化成双精度类型,应写成【A 】
A)(double)xB)x(double)
C)double(x)D)(x)double
59.判断变量x的值在‘0’到‘9’之外,正确的表达式是【D 】
A)(x>’0’) & (x<=’9’)B)(x>=’0’) and (x<=’9’)
C)(‘0’’9’) D)(s1>’9’) && (s1<’0’)
60.假设a为整型变量,表达式3&&4&&(a=2)的值为 【 A】
A)1B)2C)3D)4
61.变量double a=.3;是【C 】。
A) 字符串变量 B) 单精度变量C) 双精度变量D) 整型变量
62.表达式y>=(int)(45.7)*6+x^2*x是【 B 】。
A) 算数表达式 B) 关系表达式 C) 逻辑表达式 D)代数表达式
63.在每一函数中,至少应当有一个【A 】语句,才能带出函数值。
A) return B) 局部变量 C)赋值 D)什么都不用
64.下列数组说明语句中语法正确的是【 C 】.
A) int a(5) B) float A(10)C) int a[6] D) doulble A(10)
65. C语句printf("y=%d",(9^2*8+3) % 3*4);运行输出的结果是【 D 】.
A) y=0 B) y=3 C) 8 D)y=8
66. 数组说明语句int b[3] [4];所定义的数组元素个数是【 B 】.
A) 20 B)12 C)6 D)4
67. C语言提供的合法数据类型是【 D 】
A) Short B) Int C) Double D) float
68. 下面程序的循环结束后i的值是【 C 】
main(){int i;
for(i=0;i<10;i++) ;
printf("\n%d", i);} ;
A) 11 B) 9 C)10 D) 28
69.下面程序运行时的输出结果是【 B 】
main(){int a=5;
printf("\na=%d", ++a+2);}
A) a=6 B) 8 C) a=5 D) a=8
70.下列选项中,不正确的赋值语句是【 D 】
A)++j;B) n1=(n2=(n3=0));C) k=i==j;D)a=b+c=1
71.若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10};*p=a;则取元素值6的表达式是【 C 】。
A) *p+6 B) *(p+6)C) *p+=5 D)p+5
72.若有以下说明:
int b[3][4]={{1,2},{3,4},{5,6}};
int (*p)[4]=b;
则取元素值数值4的表达式是【 D 】。
A) *b[1]+1 B) p++,*(p+1)C) b[2][2] D)*(*(p+1)+1)
73..为表示关系x≥y≥z,应使用C语言表达式【 A 】。
A)(x>=y)&&(y>=z) B)(x>=y>=z) C) (x>=y)AND(y>=z) D) (x>=y)&(y>=z)
74..使用C语言,运算对象必须是整型的运算符是【 D 】。
A) + B)/ C) * D) %
75..若定义如下变量和数组:
int i;
static int x[3][3]={1,2,3,4,5,6,7,8,9};
则执行下面的语句输出结果是是【 C 】。
for(i=0;i<3;i++)(printf(“%d”,x);
A) 3 5 7 B) 1 4 7 C) 1 5 9 D)3 6 9
76.若定义如下变量和数组:
int i;*p
static int a[10] ={1,2,3,4,5,6,7,8,9,10};
p=a;
则执行下面的语句输出结果是【 C 】。
for(i=3;i<6;i++) printf(“%d”,*(p+i));
A) 3 4 5 6 B) 1 2 3 C) 4 5 6 D)3 6 9
77.下面程序输出的结果是【 D 】。
#include
main()
{ int m,n,o,a=2,b=3;
m=(++a==--b)?
-a:
++b;
n=++a;
o=b;
printf(“m=%d,n=%d,o=%d”,m,n,o);}
A) m=4,n=4,o=3 B) m=4,n=3,o=4 C) m=3,n=4,o=4 D) m=3,n=4,o=3
78.下面程序输出的结果是【 B 】。
#include
#define SUB(x,y) (x)*y
main()
{ int a=3,b=4;
printf(“%d”, SUB(a++,++b));}
A)12 B)15 C)20 D)16
79.若有下面的定义语句:
static char str[]={“abcd”}, *string;下面的语句不正确的是【 B】
A) string=”123”; B)str=”aaaa”;C)*(str+2)=’1’;D) string=str;
80.以下错误的描述是【 D 】
A)函数调用可以出现在执行语句中
B)出现在一个表达式中
C)作为一个函数的实参
D)作为一个函数的形参
81.在宏定义#define PI 3.14159中,用宏名PI代替一个【 D 】
A)常量B)单精度数C)双精度数D)字符串
82.若有宏定义 #define MOD(x,y) x%y
则执行以下语句后的输出为【 B 】
int z,a=15,b=100;
z=MOD(b,a);
printf("%d\n",z++);
A)11B)10C)6D)宏定义不合法
83.一个C语言程序是由【 B 】
A)一个主程序和若干个子程序组成 B)函数组成
C)若干过程组成 D)若干子程序组成
84.C语言中,引用数组元素时,其数组下标的数据类型允许是【 C 】
A)整型常量 B)整型表达式
C)整型常量或整型表达式 D)任何类型的表达式
85.下面四个选项中,不合法的用户标识符的选项是【 C 】
A)A B)flat C)b-a D)_123
86.在C语言中,数字026是一个【 B 】进制数
A)二 B)八 C)十 D)十六
87.C语言中的实数可以用多种形式表示,以下四种表示中,只有【 C 】是错误的。
A)1.23e+34 B)1.23e-34 C)0.3e1.2 D) .1234
88.在宏定义 #define FUN(a) a*a中,宏展开FUN(a)中的a用一个【 C 】代替。
A)赋值语句