江苏省计算机等级考试。
一、选择题(本题共20道小题,共40分。)
1. 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是。
a)*p=&a; scanf("%lf",p);
b)p=(double*)malloc(8);scanf("%f",p);
c) p=&a;scanf("%lf",a);
d)p=&a; scanf("%le",p);
2. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。
main( )
int x;
scanf("%d",&x);
if(x + 5) printf("%d",x);
else printf("%d",x
a) 7和5 b) 6和3 c) 7和4 d) 6和4
3. 下面程序的输出是。
a) xyzabcabc b) zabcabcc) yzabcabcd) xyabcabc
#include<>
#include<>
main()
char *p1="abc",*p2="abc",str[50]="xyz";
strcpy(str+2,strcat(p1,p2));
printf("%s", str);}
4. 若有以下说明:
int a[12]=;
char c='a',d,g;
则数值为4的表达式是。
a)a[g-cb)a[4
c)a['d'-'cd)a['d'-c]
5. 以下叙述中不正确的是。
a)在不同的函数中可以使用相同名字的变量。
b)函数中的形式参数是局部变量。
c)在一个函数内定义的变量只在本函数范围内有效
d)在一个函数内的复合语句中定义的变量。
6. 请选出以下程序段的输出结果。
#include<>
#define min(x,y) (x)<(y)? x):(y)
main()
int i,j,k;
i=10; j=15;
k=10*min(i,j);
printf("%d",k);
a) 15b) 100c) 10d)150
7. 在c程序中,可把整型数以二进制形式存放到文件中的函数是。
a) fprintf函数 b) fread函数 c) fwrite函数 d) fputc函数。
8. 设有以下语句:
struct st ;
static struct st a[3]=,p;
p=&a[0];
则表达式___的值是6。
a)p + n b) p->n + c) (p).nd) +p->n
9. c语言中形参的缺省存储类别是。
a)自动(auto) b)静态(static)
c)寄存器(register) d)外部(extern)
10. 执行下面的程序段后,变量k中的值为。
int k=3, s[2];
s[0]=k; k=s[1]*10;
a) 不定值 b) 33c) 30d) 10
11. 已知字母a的ascii码为十进制的65,下面程序的输出是。
main()
char ch1,ch2;
ch1='a'+'5'-'3';
ch2='a'+'6'-'3';
printf("%d,%c",ch1,ch2);}
a) 67,db) b,c
c) c,dd) 不确定的值。
12. 语句:printf("%d ",12 &012);的输出结果是。
a) 12 b) 8 c) 6 d) 012
13. 以下说法中正确的是。
a) c语言程序总是从第一个的函数开始执行。
b) 在c语言程序中,要调用的函数必须在main()函数中定义。
c) c语言程序总是从main()函数开始执行。
d) c语言程序中的main()函数必须放在程序的开始部分。
14. 以下程序运行后,输出结果是。
main( )
char *s="abcde";
s+=2;printf("%ld",s);
a)cde b)字符c的ascii码值 c)字符c的地址 d)出错。
15. 设x和y均为int型变量,则执行下的循环后,y值为。
for(y=1,x=1;y<=50;y++)
if(x>=10)break;
if(x%2==1)
x-=3;a)2 b)4 c)6 d)8
16. 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为。
if(aif(celse if(aif(belse x=3;
else x=6;
else x=7;
a)1 b)2 c)3 d)6
17. 设所有变量均为int型,则表达式(a=2,b=5,b++,a+b)的值是。
a.7b.8c.6d.2
18. 设c语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为:
a) 0-255
b) 1-32767
c) 0-65535
d) 0-2147483647
19. 下面的程序。
main()
int x=3,y=0,z=0;
if(x=y+z)printf
else printf
a) 有语法错误不能通过编译。
b) 输出* *
c) 可以通过编译,但是不能通过连接,因而不能运行。
d) 输出## ##。
20. 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)))在此函数调用语句中实参的个数是。
a)3 b)4 c)5 d)6
二、填空题(每空1分,共10分。)
1. 若有定义:double x[3][5],则x数组中行下标的下限为列下标的下限为。
2. 设有说明语句"int a[3][4]=,则a[0][2]的初始化值为a[2][2]的初始化值为。
3. 表达式7/2的结果是表达式7%2的结果是。
4. 若已知a=1.5,b=15,c=1,则表达式a*b&&c的运算结果是。
5. c语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为。
6. 定义int a=p=a;表达式(*+p)++的值是。
7. 已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则对应scanf("%d,%d,%d",&i,&j,&f)调用语句的数据输入形式是。
三、判断题(本题共10道小题,共10分。)
1. 在实际编程中,do-while循环完全可以用for循环替换( )
2. do-while循环中,根据情况可以省略while( )
3. 若调用一个函数,且此函数中没有return语句,则返回一个不确定的值( )
4. 函数调用:strcat(strcpy(str1,str2),str3)的功能是将串str2复制到串str1中后再将串str3连接到串str1之后( )
5. 自增运算符(++或自减运算符(--只能用于变量,不能用于常量或表达式( )
6. 全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的要求( )
7. 函数的定义可以嵌套,但函数的调用不可以嵌套( )
8. 一个变量在内存中占据一定的存储单元( )
9. 在while循环中允许使用嵌套循环,但只能是嵌套while循环( )
10. 字符型数组中可以存放字符串( )
四、程序填空(本题共5道小题,每题4分,共20分。)
1. 设有以下程序:
main()
int n1,n2;
scanf("%d",&n2);
while(n2!=0)
n1=n2%10;
n2=n2/10;
printf("%d",n1);
程序运行后,如果从键盘上输入1298;则输出结果为。
2. 以下程序输出的最后一个值是。
int ff(int n)
static int f=l;
f=f*n;
return f;
main()
int i;
for(i=1;i<=5;i++ printf("%d",ff(i));
3. 编写程序,计算s=1+(1+2)+(1+2+3)+…1+2+3+…+n)的值。
#include <>
main()
int n,s,sum=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
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 语言的参数传递机制包括传...