大学C语言模拟题doc.docx
《大学C语言模拟题doc.docx》由会员分享,可在线阅读,更多相关《大学C语言模拟题doc.docx(23页珍藏版)》请在冰豆网上搜索。
![大学C语言模拟题doc.docx](https://file1.bdocx.com/fileroot1/2023-2/2/2d24b6ad-2351-4a87-ada7-4d6303ef203e/2d24b6ad-2351-4a87-ada7-4d6303ef203e1.gif)
大学C语言模拟题doc
C语言试题(9)
选择题(50X2=100)
1.一个C程序的执行是从()o
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
2.以下叙述不正确的是()o
A)一个C源程序可由一个或多个函数组成
B)—个C源程序必须包含一个main函数
c)c程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
3.一个C语言程序是由()0
A)一个主程序和若干子程序组成B)函数组成
C)若干过程组成D)若干子程序组成
4.若x,i,j和k都是int型变量,则执行下面表达式后x的值为()。
x=(i=4,j=16,k=32)
A)4B)16C)32D)52
5.下列四组选项中,均不是C语言关键字的选项是()。
A)define
B)getc
ConcludeD)while
IF
char
scanf
g。
type
printf
case
pow
6.下面四个选项中,均是不合法的用户标识符的选项是(
A)A
B)float
C)b-a
D).123
P_0
laO
goto
temp
do
A
int
INT
)。
7.下面四个选项中,均是合法转义字符的选项是()。
A),V,
B)V
C)'\018,
D)'\\0‘
'\017*
*\f
*ior
'\n'
*xab'
*xlf
8.下面正确的字符常量是
()o
A)”a”
C)W
D)”
9.下面不正确的字符串常量是()。
A)'abc'B)”12'12”C)”O”D),,H
10.已知各变量的类型说明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
则以下不符合C语言语法的表达式是()o
A)x%(-3)B)w+=-2
C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a二3)
11.以下不正确的叙述是()。
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D)专从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
12.以下符合C语言语法的赋值表达式是()o
A)d=9+e+f=d+9B)d=9+e,f=d+9
C)d=9+e,e++,d+9D)d=9+e++=d+7
13.在C语言中,要求运算数必须是整型的运算符是()。
A)/B)++C)!
=D)%
14.在C语言中,int、char和short种类型数据在内存中所占用的字节数()。
A)由用户自己定义B)均为2个字节
C)是任意的D)由所用机器的机器字长决定
15.若有定义:
inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。
A)2.500000B)2.750000C)3.500000D)0.000000
16.设变量a是整型,f是实型,i是双精度型,则表达式10+知+i*f值的数据类型为()o
A)intB)floatC)doubleD)不确定
17.在C语言中,char型数据在内存中的存储形式是()。
A)补码B)反码C)原码D)ASCII码
18.表达式18/4*sqrt(4.0)/8值的数据类型为()。
A)intB)floatC)doubleD)不确定
19.设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()。
A)floatB)charC)intD)double
20.设以下变量均为int类型,则值不等于7的表达式是()。
A)(x=y=6,x+y,x+l)B)(x=y=6,x+y,y+l)
C)(x=6,x+1,y=6,x+y)D)(y=6,y+l,x=y,x+1)
21.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式()。
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
22.已有定义inta=-2;和输出语句:
printf("%81xu,a);以下正确的叙述是()。
A)整型变量的输出格式符只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%81x是错误的
D)%81x不是错误的格式符,其中数字8规定了输出字段的宽度
23.已有如下定义和输入语句,若要求al,a2,cl,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()o
intal,a2;charcl,c2;
scanf(”%d%c%d%c”,&al,&c1,&a2,&c2);
A)10A20BB)10A20B
C)10A20D)10A20BvcR>。
24.已有定义intx;floaty;且执行scanf(”%3d%仁&x,&y);语句,若从第一列开始输入数据12345678(回车),则y的值为()。
A)无定值B)45.0000C)678.000000D)123.00000
25.己有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为()0main()
{inta;floatf;
printf("\nlnputnumber:
");
输入语句
printf("\nf=%f,a=%d\n,f,a);
}
Inputnumber:
4.52
A)scanf(”%d,%「',&a,&f);B)scanf(”%f,%d”,&f,&a)
C)scanf(”%d%也&a,&f);D)scanf(”%f%d”,&f,&a);
26.阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为()。
main()
(intx,y,z
scanf("%d%d%d",&x,&y,&z);
printf(nx+y+z=%d\n,x+y+z);
}
A)x+y+z=48B)x+y+z=35
C)x+z=35D)不确定值
27.以下说法正确的是()o
A)输入项可以为一实型常量,如scanf(”%仁3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf(na=%d,b=%du);
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f",&f);
D)当输入数据时,必须指明变量的地址,如scanf(n%f,&f);
28.有输入语句:
scanf(Ha=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为l,b为3,c为2,从键盘输入数据的正确形式应当是()。
A)132(回车)B)l,3,2(回车)C)a=lb=3c=2(回车)D)定l,b=3,c=2(回车)
29.己知ch是字符型变量,下面不正确的赋值语句是()。
A)ch=,a+b,;B)ch=,\0,;C)ch=7+9;D)ch=5+9;
30.若有以下定义,则正确的赋值语句是()。
inta,b;floatx;
A)a=l,b=2,B)b++;C)a=b=5D)b=int(x);
31.下面正确的字符常量是()0
A、“c”B、'\\”C、”D、'k'
32.以下叙述不正确的是()。
A、在C程序中,逗号运算符的优先级最低
B、在C程序中,MAX和max是两个不同的变量
C、若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变D、从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
33.以下叙述正确的是()。
A、在C程序中,每行只能写一条语句
B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数据
C、在C程序中,%是只能用于整数运算的运算符
D、在C程序中,无论是整数还是实数,都有能被准确无误地表示
34.己知字母A的ASCII码为十进制65,且c2为字符型,则执行c2='A'+'6'・'3‘后,c2中的值为()o
A、DB、68C、不确定的值D、C
35.若一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为()。
A、0-255B、0-32767C、0-65535D、0-2147483647
36.设在说明:
charw;intx;floaty;doublez;,则表达式w*x+z-y值的数据类型为()。
A、floatcharC、intD^double
37.若x、i、j、k都是int型变量,则通过计算x=(i=4,j=16,k=32)表达式后,x的值为()。
A、4B、16C、32D、52
38.设以下变量均为int类型,则值不等于7的表达式是()。
A、(x=y=6,x+y,x+l)B、(x=y=6,x+y,y+l)
C^(x=6,x+l,y=6,x+y)D^(y=6,y+l,x=y,x+l)
39.若inta,b,c;则为它们输入数据的正确输入语句是()。
A>read(a,b,c);scanf("%d%d%d”,a,b,c);
C、scanf("%d%d%d'',&a,%b,%c);D、scanf("%d%d%d",&a,&b,&c);
40.若floata,b,c;要通过语句:
scanf(“%f%f%f',&a,&b,&c);分别为a,b,c输入10,22,33。
以下不正确的输入形式是()0
A、10B、10.0,22.0,33.0C、10.0D、1022
2022.033.033
33
41.执行语句:
printf(“|%10.5f|\n”,12345.678);的输出是()<,
A、|12345.67800|B、112345.67801C、112345.678001D、|12345.678|
42.若有以下程序段,其输出结果是()。
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d\n”,a,b,c);
A、3,0,-10B、0,0,5C、-10,3,-10D、3,0,3
43.若a为int类型,且a=125,执行下列语句后的输出是()。
printf("%d,%o,%x\n”,a,a+1,a+2);
A、25,175,7DB、125,176,7FC、125,176,7DD、125,175,2F
44.若在键盘上输入:
283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是()。
A、scanf("%f',&c);B、scanf("%8.4f',&c);C、scanf("%6.2f',&c);D、scanf("%8”,&c);
45.if语句的控制条件()。
A、只能用关系表达式B、只能用关系表达式或逻辑表达式
C、只能用逻辑表达式D、可以用任何表达式
46.执行以下程序段后,a,b,c的值分别是()。
inta,b=100,c,x=10,y=9;
a=(-x==y++)?
--x:
++y;
if(x<9)b=x++;c=y;
A、9,9,9B、8,8,10C、9,10,9D、1,11,10
47.执行下列程序段后,x、y和z的值分别是()。
intx=10,y=20,z=30;
if(xA、10,20,30B、20,30,30C、20,30,10D、20,30,20
48.以下程序的输出结果是()0
main()
(intw=4,x=3,y=2,z=1;
if(x>y&&!
(z==w))printf(u%d\n,\(ww:
zz:
x"));
elseprintf("%d\n",(w>x?
w:
z>y?
z:
x"));)
}
A、1B、2C、3D、4
49.若执行以下程序时从键盘上输入3口4,则输出结果是()(口表示空格)。
main()
{inta,b,s;
scanf("%d%d”,&a,&b);
s二a;
if(a
s*=s;
printf("%d\n”,s);
)
A、14B、16C、18D、20
50.使用语句scanf("x=%f,y=%「,&x,&y);输入变量x、y的值(口代表空格),正确的输入是()。
A、1.25,2.4B、1.25D2.4C、x=1.25,y=2.4D、x=1.25Qy=2.4
C语言试题(A卷)
班级:
姓名:
学号
一、填空(每空1分,共10分)
1、设x为整型变量,值为1,则表达式(x&&l)==(x%2)的值为
2、与二进制数101等值的十进制数为
3、若已知a=10,b=20,则表达式!
a〈b的值为
4、结构化程序设计所规定的三种基本控制结构是结构结构和
结构。
5、定义inti=l;执行语句while(i++v5);后,i的值为
6、定义3行4列的整型二维数组a的语句是
7、int*p,a;则语句p=&a;中的运算符&是符号。
8、设y是int型变量,请写出判断y为奇数的关系表达式
二、选择(每小题2分,共30分)
1、下列优先级最低的算符是()
A&&B&C||D=
2、已知intj,i=l;执行语句"j=i++;”后,变量i的值是()
A1B2C-1D-2
3、己知inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是()
A6B12C30D36
4、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()
a=0Da
)
Aa<>0B!
aC
5、以下错误的if语句是(
Aif(x>y);
Bif(x==y)x+=y;
&x)elsescanf("%d'',&y);
Cif(x!
=y)scanf("%d",
Dif(x6、为了判断两个字符串si和s2是否相等,应当使用()
Aif(sl==s2)Bif(sl=s2)
Cif(strcpy(sl,s2))Dif(strcmp(sl,s2)==0)
7、若有说明intx,y;不能实现以下函数关系的程序段是()
y=-1(x<0)y=0(x=0)
y=l(x>0)
Aif(x<0)y=-l;
elseif(x==0)y=0;
elsey=l;
Cy=0;
if(x>=0)
(if(x>0)y=l;}
By=-1;
if(x!
=0)
if(x>0)y=l;
elsey=0;
Dif(x>=0)
if(x>0)y=l;
elsey=0;
elsey=-1;
8、以下错误的描述是()
Abreak语句不能用于循环语句和switch语句外的任何其他语句
B在switch语句中使用break语句或continue语句的作用相同
C在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环
D在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
9、若inti=10;执行下列程序后,变量i的正确结果是()
switch
(case
0:
i+=l;
10:
i+=l;
11:
i+=l;
default:
i+=l;
A10B11C12D13
1()、下列程序是求1到100的累加和,其中有1个不能够完成规定的功能,是()
while(i<100)
s+=++i;
11、选择程序输出结果()
f(intb[1,intm,intn)
{inti,s=0;
for(i=m;is+=b[i];
returns;
)
main()
(intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf(n%d\n",x);
)
A30B15C18D22
12、C语言中函数返回值的类型由()决定的。
Areturn语句中的表达式类型B调用该函数的主调函数的类型
C调用函数时临时决定D定义函数时所指定的函数类型
13、选择下列程序的运行结果()
fun(int*p)
(inta=10;
p=&a;
++*p;main()
(inta=5;fun(&a);printf(“%d\n”,a);
A5B6C10D11
14、执行后
y的值是()
main()
(intal]=(1,
2,3,4),y,*p=a;
y=*p++;
}
A1
B2C3D4
15、下列程序的输出结果是()
structabc
{inta,b,c;};
mainO
(structabcs[2]=({1,2,3),(4,5,6}};intt;
t=s[0].a+s[1].b%s[0].c;
printf(,z%d\n〃,t):
}
A2B3C4D7
三、程序填空(每空2分,共20分)
1、下面的程序输出3到100间的所有素数。
main()
(
inti,j;
for(i=3;iv=100;i++)
(for(j=2;j<=i-l;j++)
if(①)break;
if(②)
printf("%4d'',i);
2、函数primedec(m)是求整数m的所有素数因子,并输出。
如:
m为120时。
输出的素数因子为:
2,2,2,3,5
程序如下:
primedec(intm)
(intk=2;
while(k<=m)
if(m%k①)
{printf("%d,”,k);
②
else
3、用起泡法对10个整数排序(由小到大)
起泡法的思路:
将相邻的两个数比较,将小的调到前头。
main()
(inta[ll],i,j,t;
printf(44input10numbers:
\n”);
for(i=l;i①
printf("\n”);
for(j=l;j<=9;j++)
for(i=l;②;i++)
if(③)
(t=afi];
_©_
}
printf("thesortednumbers:
\n‘‘);
for(i=1;iprintf("%d",a[i]);
1
四、读程序题(15分)
1、读程序写结果(3分)
main()
(charc='A';
if('0'v=c<='9')
printf("yes'');
else
printf("no”);
}
2、以下程序在运行是时,输入变量a的值为1,变量b的值为2,写出程序的运行结果(3分)
main()
(inta,b,t=0;
scanf("%d%d”,&a,&b);
if(a=2)
{t=a;a=b;b=t;)
printf(u%d,%d\n",a,b);
}
3、写出程序的执行结果(3分)
main()
(inti=0,j=0;
while(i<10)
i++;
while(j++<10);
printf("i=%d,j=%d\n",i,j);}
4、写出程序的执行结果(3分)main()
(inti,j,k;
charspace=,';
for(i=0;i<=5;i++)
(for(j=l;j<=i;j++)printf("%c",space);for(k=0;k<=5;k++)printf("%c",'*');
printf("\n“);
}
}
5、写出程序的执行结果(3分)main()
{inti;
for(i=0;i<3;i++)add();
1
add()
(staticintx=0:
x++;
printf("%d,”,x);
《C语言程序设计》试卷二
姓名:
班级:
学号:
一、单项选择题(每小题1分,共30分/)
1、一个C语言程序是由()
%1一个主程序和若干子程序组成②函数组成
%1若干过程组成④若干子程序组成
2、一个C程序的执行是从()。
%1本程序的main函数开始,到main函数结束
%1本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
%1本程序的main函数开始,到本程序文件的最后一个函数结束
%1本程序文件的第一个函数开始,到本程序main函数结束
3、在C语言中(以16位PC机为例)5种基本数据类型的存储空间R度的排列顺序为()
®char(2)char=int®char4、下面四个选项中,不合法的用户标识符是()
①P_0②ha2③goto④_ab
5、以下不正确的叙述是()0
①在C程序中,逗号运算符的优先级最低②在C程序中,APH和叩h是两个不同的变
里
%1若a和b类型相同,在计算了赋值表达式a二b后b中的值将放入a中,而b的值不变
%1当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
6、设c是字符变量,以下语句中错误的是()0
①Y';②\\,;③Yes,;④\x23,;
7、已知ch是字符型变量,下面不正确的赋值语句是()0
①ch='a+b';②ch='\0';③ch='7,+'9';④
ch=5+9;
8、判断char型变量cl是否为小写字母的正确表达式是()
①,/<=cl<=,z,②(cl>=a)&&(cl<=z)③98<=cl&&123>=cl④cl>=,az&&cl<=,z‘