一、填空题。(每空1分,共20分)
1、c语言源文件的扩展名为 ,经编译后,生成文件的扩展名为 ,连接后,最后形成可执行文件的扩展名为 。
2、对于数学式( b2-4ac)1/2,10>x>1对应的c语言表达式为。
3、语句printf(“*06d*”,456);的输出结果为。
4、若a=3,b=4,c=5,则表达式a&&b,a<=b,a||b+c&&b-c,!(a
5、若有定义和语句:int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;执行后,a,b,c中的值分别为。
6、当执行以下程序段后,i的值是 ,j的值是 ,k的值是 。
int a,b,c,d,i,j,k;
a=10;b=c=d=5;i=j=k=0;
for( ;a>b;++b) i++;while(a>++c) j++;
do k++;while(a>d++)
7、已知指针p、q、s的指针如图,则执行语句*p++;后,*p的值为 ,表达式*++q的值是 ,表达式++*s的值是 。
a[0] a[1] a[2] a[3] a[4]
q ↗p↑ ↖s
8、字符串“ab\\\012\xa2”的长度为 。
二、选择题(每题1分,共25分)
1、若有以下定义和语句:int u=010,v=0x10,w=10; printf(“%d,%d,%d”,u,v,w);
则输出结果是( )
a:8,16,10b:10,10,10
c:8,8,10d:8,10,10
2、若 i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )
for(i=5; i; i--)
for(j=0; j<4; j++)
a:20 b:24 c:25 d:30
3、若有以下定义和语句:char * sl=”12345”, s2=”1234”;printf(“%d”,strlen(strcpy(sl,s2)))
则输出结果是( )
a:4 b:5 c:9 d:10
4、若有以下定义和语句:int a[10]=,p=a;
则不能表示a数组元素的表达式是( )
a:*p b:a[10] c:*a d:a[p-a]
5、下列程序的输出是( )
main( )
char * s=”121”; int k=0,a=0,b=0;
dok+ +
if(k%2==0)
b=b+s[k]-‘0’;a=a+s[k]-‘0’;}
while(s[k+1]);
printf(“k=% d a=% d b+%d”,k,a,b);}
a:k=3 a=2 b=3
b: k=3 a=3 b=2
c: k=2 a=3 b=2
d: k=2 a=2 b=3
6、设有说明int(* ptr)[m];其中的标识符ptr是( )
a:m个指向整型变量的指针。
b:指向m个整型变量的函数指针。
c:一个指向具有m个整型元素的一维数组的指针。
d:具有m个指针元素的一维指针数组,每个元素都只能指向整型变量。
7、c语言中最简单的数据类型包括( )
a.整型、实型、逻辑型 b.整型、实型、字符型。
c.整型、字符型、逻辑型 d.整型、实型、逻辑型、字符型。
8、下述对c语言字符数组的描述中错误的是( )
a:字符数组可以存放字符串。
b:字符数组中的字符串可以整体输入、输出。
c:可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。
d:不可以用关系运算符对字符数组中的字符串进行比较。
9、设有如下定义:
int x=10,y=3,z;
则语句 printf(“%d”,z=(x%y,x/y));的输出结果是( )
a:1 b:0 c:4 d:3
10、定义如下变量和数组:
int i;
int x[3][3]=;
则下列语句的输出结果是 (
for(i=0;i <3;i++)printf(“%d”,x[i][2-i]);
a:159 b:147 c:357 d:369
11、设有如下函数定义:
int f(char * s)
char * p=s;
while(*p!=’0’)p++;
return(p-s);
如果在主程序中用下面的语句调用上述函数,则输出结果为( )
printf(“%d”,f(“goodbye!”)
a:3 b:6 c:8 d:0
12、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为( )
a:4 b:16 c:32 d:52
13、以下叙述中正确的是( )
a:输入项可以是一个实型变量,如:scanf(“%f’,3.5);
b:只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d,b=%d);
c:当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf(“%4.2f’,&f);
d:当输入数据时,必须指明变量地址,例如:scanf(“%f ”,f);
14、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y的功能是( )
a:把x和y按从大到小顺序b:把x和y按从小到大顺序。
c:无确定结果d:交换x和y中的值。
15、以下程序的输出结果是:(
a:7 b:6 c:5 d:4
main()
int m=5;
if(m++>5)printf(“%d”,m);
else printf(“%d”,m--)
16、在执行以下程序时,如果从键盘上输入:abcdef《回车》,则输出为( )
a:abcdef b:abcdef c:abc d:def
#include<>
main()
char ch;
while((ch=getchar())n’)
if(ch>=’a’&&ch<=’z’)ch=ch+32;
else if(ch>=’a’ &ch<=’z’)ch=ch-32;
printf(‘%c”,ch);
printf(“”);
17、当执行以下程序时( )
a:循环体将执行一次b:循环体将执行二次。
c:循环体将执行无限次d:系统将提示有语法错误。
x=-1;do while(! x);
18、设有如下的变量定义:
int i=8,k,a,b;
double x=1.42,y=5.2;
则以下符合c语言语法的表达式是( )
a、a+=a-=(b=4)*(a=3b:x%(-3)
c:a=a*3=2d:y=float(i)
19、以下程序的输出结果是:(
a:10 10 b:12 12 c:11 10 d:11 13
main()
int a=12,b=12;
printf(“%d”,-a,++b);
20、以下程序运行后,输出结果是( )
a:cadb:字符c的ascii码值。
c:字符c的地址d:出错。
main()
char * s=”abcde”;
s+=2;printf(“%d”,s);
21、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为( )
a:1 b: 2 c:3 d:6
if(aif(celse if(aif(belse x=6;
else x=7;
22、下列能正确进行字符串赋值的语句是( )
a:char s[5]=;
c: char *s;s=“abcdefd: char *s;scanf(“%s”, s);
23、执行下列程序后,输出的结果是( )
a:-1 b:1 c:8 d:0
main()
int y=10;
dowhile(--y);
printf(“%d”,y--)
24、假设有以下变量定义:
int x=7,k=12;
则能使值为3的表达式是( )
a:x%=(k%=5b:x%=(k-k%5)
c语言试卷c
a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...
C语言试卷A
青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...
C语言试卷
一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...