江苏省计算机等级考试。
学年第学期 c程序设计试卷( )
一、选择题(本题共20道小题,共40分。)
1. 表示关系x≤y≤z的c语言表达式为。
a) (x<=y)&&y<=z)
b) (x<=y)and(y<=z)
c) (x<=y<=z)
d) (x<=y)&(y<=z)
2. 以下程序的输出结果是。
main( )
int a=12,b=12;
printf("%d %d",-a,++b);
a)10 10 b)12 12 c)11 10 d)11 13
3. 以下的for循环
for(x=0,y=0; (y!=123)&&x<4); x +
a) 是无限循环 b)循环次数不定 c)执行4次 d)执行3次。
4. 有以下程序。
main()
char a=programming",b=language";
char *p1,*p2;
int i;
p1=a;p2=b;
for(i=0;i<7;i++)
if(*(p1+i)==p2+i))
printf("%c",*p1+i));
输出结果是。
a)gm b)rg c)or d)ga
5. 以下说法中正确的是。
a) #define和printf都是c语句 b) #define是c语句,而printf不是。
c) printf是c语句,但#define不是 d) #define和printf都不是c语句。
6. 下面的程序。
main()
int x=3;
do a) 输出的是1 b) 输出的是1和-2 c) 输出的是3和0 d) 是死循环。
7. 下面能正确进行字符串赋值操作的语句是。
a)char s[5]=;b)char s[5]=;
c) char *s;s="abcdef"; d)char *s; scanf("%s",s);
8. 以下程序的输出结果是。
main( )p=&x[1][1];
for(i=0;i<4;i+=2)printf("%d ",p[i]);
a) 5 2 b) 5 1 c) 5 3 d) 9 7
9. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为。
a) a<>0b) !a
c) a=0d) a
10. 下面各语句行中,能正确进行赋字符串操作的语句行是。
a) char st[4][5]=;
c) char *s; s="abcded) char *s; scanf("%s",s);
11. 若fp是指向某文件的指针,且已读到该文件的末尾,则c语言函数feof(fp)的返回值是。
a) eofb) -1c) 非零值d) null
12. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是。
a)k=*p1+*p2;
b)p2=k;
c)p1=p2;
d)k=*p1 *(p2);
13. 下面程序的输出是。
main()
int a=-1, b=4,k;
k=(a++<0)&&b--<0));
printf("%d %d %d",k,a,b);}
a) 0 0 3b) 0 1 2c) 1 0 3d) 1 1 2
14. 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是。
a) pb=&xb) pb=xc) *pb=&xd) *pb=*x
15. 设有。
static char str[ ]beijing";
则执行。printf("%d", strlen(strcpy(str,"china"))
后的输出结果为。
a) 5b) 7c) 12d) 14
16. 以下程序的输出结果是。
a) 10 1 9 2 b) 9 8 7 6 c) 10 9 9 0 d) 10 10 9 1
main( )
int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d,%d ",x--,y);
17. 设有如下函数定义:
int f(char *s)
char *p=s;
while(*p!='0') p++;
return(p-s);
如果在主程序中用下面的语句调用上述函数,则输出结果为。
printf("%d",f("goodbey!")
a) 3b) 6c) 8d) 0
18. 若执行下面的程序时从键盘上输入3和4,则输出是。
main()
int a,b,s;
scanf("%d %d",&a,&b);
s=a;if(as=s*s;
printf("%d",s);}
a) 14b) 16 c) 18d) 20
19. 下面四个选项中,均是c语言关键字的是:
a. auto enum includeb swith typedef continue
c signed union scanfd if struct type
20. 有以下程序。
viod fun (int a,int b,int c)
a=456;b=567;c=678;}
main()
int x=10,y=20,z=30;
fun (x,y,z);
printf("%d,%d.%d",x,y,z);
输出结果是。
a)30,20,10
b)10,20,30
c)456,567,678
d)678,567,456
二、填空题(每空1分,共10分。)
1. 为表示关系:x≤y≤z ,应使用的c语言表达式是。
2. 字符串是以为结束标志的一维字符数组。有定义:char a=则a数组的长度是。
3. 设int a; float f; double i ;则表达式10+'a'+i*f值的数据类型是。
4. 设有说明语句"int a[3][4]=,则a[0][2]的初始化值为a[2][2]的初始化值为。
5. 假定p所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++语句后,p所指对象的值为。
6. 程序由主要由组成。
7. 有函数调用fun1(x+y,(y,z),10,fun((x,y―1)))函数fun1有___
个参数。三、判断题(本题共10道小题,共10分。)
1. 在c中,外部变量的隐含类别是自动存储类别( )
2. 实参和与其对应的形参共占用一个存储单元( )
3. 在不得已的情况下(例如提高程序运行效率),才使用goto语句( )
4. 条件表达式可以取代if语句,或者用if语句取代条件表达式( )
5. 函数中的静态变量在函数每次调用时,都会重新设置初值( )
6. 全局变量都是静态存储( )
7. 如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明( )
8. 系统不允许用户重新定义标准库函数( )
9. 若调用一个函数,且此函数中没有return语句,则该函数没有返回值( )
10. 函数调用:strcat(strcpy(str1,str2),str3)的功能是将串str2连接到串str1之后再将串str1复制到串str3中( )
四、程序填空(本题共5道小题,每题4分,共20分。)
1. 以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母z转换成字母a,其它字符不变,返回转换后的字母或其它字符。请填空。
char fun(char ch)
if(ch= =z') ch
else if(ch>='a'&&ch<='y') ch
return ch;
2. 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。
void sstrcpy(char *s,char *t)
while(*s
main( )
char str1[100],str2=abcdefgh";
sstrcpy(str1,str2);
printf("%s",str1);
3. 以下程序段用于构成一个简单的单向链表。
struct stru
int x, y ;
float rate;
p; a, b;
4. **990拨号上网费率白天是每小时4.20元,夜间是每小时2.70元。使用的分钟(整数minute)和费率(含小数fei)变量由键盘输入,请补上语句。
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 语言的参数传递机制包括传...