计算机国二模拟试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、C语言中标识符只能由字母、数字和 三种字符组成,且必须以 或英文字母开头。

2、变量默认的存储类型是 。

3、带符号短整型数据的数值范围为 到 。

4、设int a[10];则数组a的首元素是 。

5、标准字符输出函数为 。

6、设x为int型变量,描述“x是偶数”的表达式为 。

7、初始化值是0.618的双精度变量a的定义形式为 。

8、设char s[]=”apple”;,则数组s的长度是 。

9、表达式a=1,a+=1,a+1,a++的值是 。

10、设int a=5,b=2; float c=32.8;,则表达式b*(int)c%a的值为 。

11、执行语句”a=5+(c=6);”后,变量a、c的值依次为 。

12、执行语句”s=0;n=5;while(--n) s+=n;”后,变量s、n的值依次为 。

13、下列程序段:

int x=3; while(!x) printf(“%d”,--x);

循环执行的次数是 。

14、设int a[3][4]={{1,3,5,7},{2,4,6,8}};则a[1][2]的值为 。

15、若使用fopen函数打开一个新的二进制文件,对该文件进行读写操作,则文件使用方式字符串应该是 。

16、若有声明“char a[15]=”Windows-9x”;”,语句”printf(“%s”,a+8);”的输出结果为 。

17、结束本次循环的命令为 。

18、设int a[]={1,2,3,4,5,6,7,8},*s=a;则*(s+1)的值是 。

二、单项选择题(在每小题的四个答案中选出一个正确的答案,并将其号码填在题干后的括号内。每小题2分,共40分)

19、可以用作C程序标识符的是( )

①int ②for ③2a ④a2

20、C语言中,int类型数据占2个字节,则long类型数据占字节数( )

①1 ②2 ③4 ④8

21、设char a=’\n’;则变量a中( )

①包含1个字符 ②包含2个字符 ③包含3个字符 ④是非法表示

22、以下可以判断变量a、b的值均不为0的表达式是( )

①a=b=0 ②a!=0&&b!=0 ③a!=0||b!=0 ④!a=0&&b=0

23、有以下程序段:

int m=0,n=0; char c=’a’;

scanf(“%d%c%d”,&m,&c,&n);

printf(“%d,%c,%d\n”,m,c,n);

若从键盘上输入:10A10<回车>,则输出结果是( )

①10,A,10 ②10,a,10 ③10,a,0 ④10,A,0

24、以下一维数组a的正确定义是( )

①int a[5]; ②int a(5); ③int a{5}; ④int a5;

25、设int a=3,b=4,c=5;表达式(a+b)>c&&b==c的值是( )

①2 ②-1 ③0 ④1

26、对于while语句,错误的说法是( )

①用条件控制循环体的执行次数 ②循环体至少要执行一次

③循环体有可能一次也不执行 ④循环体中可以包含若干条语句

27

、若int类型数据占2个字节,则下列语句的输出为( )

int k=-1; printf(“%d,%u\n”,k,k);

①-1,-1 ②-1,32767 ③-1,32768 ④-1,65535

28、在C语言中,不正确的int类型的常数是( )

①32768 ②0 ③037 ④0xAF

29、若函数能被其它编译单位引用,那么函数定义时的存储类型应选用( )

①auto ②static ③extern ④register

30、设int a,*p;则语句p=&a;中的运算符“&”的含义是( )

①位与运算 ②逻辑与运算 ③取指针内容 ④取变量地址

31、设float c,f;,将数学表达式c= (f-32)能正确表示成C语言赋值表达式的是( )

①c=5*(f-32)/9 ②c=5/9(f-32) ③c=5/9*(f-32) ④c=5/(9*(f-32))

32、数据-35.8在文本文件中占用的字节个数是( )

①4 ②5 ③6 ④8

33、设int a=9,b=20;则printf(“%d,%d\n”,a--,--b);的输出结果是( )

①9,19 ②9,20 ③10,19 ④10,20

34、while(!x)中的(!x)与下面条件( )等价。

①x==1 ②x!=1 ③x!=0 ④x==0

35、比较两个字符串大小的函数是( )

①strlen() ②strcmp() ③strlcat() ④strchar()

36、以下不能看作一条C语句的是( )

①{;} ②a=5,b=5,c=5; ③if(x>=0&&y=0); ④if(x==0)a=5;b=10;

37、对二维数组的正确定义是( )

①int a[][]={1,2,3,4,5,6}; ②int a[2][]={1,2,3,4,5,6};

③int a[][3]={1,2,3,4,5,6}; ④int a[2,3]={1,2,3,4,5,6};

38、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf(“i=%d,f=%f”,&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为( )

①100765.12 ②i=100,f=765.12 ③100,7651.2 ④i=100f=765.12

三、判断题(每题2分,共20分。判断下列各题正误,正确的打“√”,错误的打“╳”。)

39、( )在C语言中的每个函数必须要有一个明确的return语句才能返回调用程序。

40、( )= =和=号的作用完全相同。

41、( )在C语言中定义的数组,其下标是从1开始的。

42、( )有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。

43、( )break语句只能出现在循环语句内。

44、( )p*=n+1相当于p=p*n+1。

45、( )设char x[]=”12345”,y[]={‘1’,’2’,’3’,’4’,’5’,’\0’};那么x数组的长度等于y数组的长度。

46、( )若有int i=5,j=10;则执行完语句:

switch(i){

case 4: j++;

case 5: j--;

case 6: j++;

case 7: j-=2;

default: ;

}

后j

的值为8。

47、( )int y; 执行表达式(y=4)||(y=5)||(y=6)后,y的值为6。

48、( )x为整型,则double(x)将x强制转换为双精度类型。

四、分析程序功能写出程序运行结果题(每小题7分,共70分)。请在每小题的程序右侧空白处写出程序的运行结果。

49、main()

{int a=1,b=2;

a=a+b;b=a-b;a=a-b;

printf(“%d,%d\n”,a,b);

}

50、main()

{int a=13,b=17,c=9,m;

if(a>b) {if(a>c) m=a; else m=c;}

else {if(b>c) m=b;else m=c;}

printf(“m=%d”,m);

}

51、main()

{int i;

for(i=0;i<3;i++)

switch(i)

{case 0: printf(“%d”,i);

case 2: printf(“%d”,i);

default: printf(“%d”,i);

}

}

52、main()

{int i,j;

for(i=1;i<=4;i++)

{for(j=1;j<=i;j++)

printf(“*”);

printf(“\n”);

}

}

53、main()

{int m,a[20]={1,1};

for(m=0;m<5;m++)

{printf(“%d”,a[m]);

a[m+2]=a[m+1]+a[m];

}

}

54、int a1=300,a2=400;

main()

{int a3=100,a4=200;

sub1(a3,a4);

sub1(a1,a2);

printf(“%d,%d,%d,%d\n”,a1,a2,a3,a4);

}

sub1(int x,int y)

{a1=x; x=y; y=a1; }

55、main()

{int x=20,y=40,*p;

p=&x;

printf(“%d,”,*p);

*p=x+10;

p=&y;

printf(“%d\n”,*p);

*p=y+20;

printf(“%d,%d\n”,x,y);

}

56、设从键盘输入:543

sub(int n)

{int s=1;

do{s*=n%10; n/=10; }

while(n);

return s;

}

main()

{int n;

scanf(“%d”,&n);

n=sub(n);

printf(“%d\n”,n);

}

57、int f(int a)

{

int b=4;

static int c=4;

b++;

c++;

return(a+b+c) ;

}

main()

{

int a=4,i;

for(i=0;i<3;i++)

print(“%d,”,f(a));

}

58| main()

{int a[3] [3]={1,4,17,3,6,19,2,5,18};

int i,s=0;

for (i=0;i<=2;i++)

s=s+a[i][2-i];

printf(“s=%d\n”,s);

}

五、程序设计题(每题10分,共30分)请根据题目要求编写程序。

59、写一程序,从键盘上输入一个年份year(4位十进制数),判断其是否是闰年。闰年的条件是; 能被4整除、但不能被100整除,或者能被400整除。(要求只能使用一次if-else语句,并不能出现嵌套。)













60、求1~100内的所有偶数和。(要求用while语句编写,物质刺激变量只能递增。)








































61 、输入一个不超过100个字符的字符串,要求以相反的顺序输出各个字符。(要求用for 语句编写)





































2006年C语言升学考试试卷答案

一、填空题(每空2分,共40分)

1、下划线 下划线 2、auto(自动) 3、-32768 32767 4、a[0] 5、putchar()

6、x%2==0 7、double a=0.618 8、6 9、2 10、4 11、11,6

12、10,0 13、0 14、6 15、wb+或”wb+” 16、9x 17、continue

18、2

二、单项选择题(每题2分,共40分)

19.4 20.3 21.1 22.2 23.1 24.1 25.3 26.2 27.4 28.1

29.3 30.4 31.1 32.3 33.1 34.4 35.2 36.4 37.3 38.2

三、判断题(每小题2分,共20分)

39、╳ 40、╳ 41、╳ 42、√ 43、╳ 44、╳ 45、√ 46、√ 47、╳ 48、╳

四、程序运行结果(每小题7分,共70分)

49、2,1 50、m=17 51、000122

52、* 53、11235 54、100,400,100,200

** 55、20,40

*** 30,60

**** 56、60 57、14,15,16 58、s=25

五、程序设计题(每小题10分,共30分)

59、main()…………………………………………….…( 1分)

{ int year;……………………………………………( 1分)

scanf(“%d”,&year); …………………………………(2分)

if(year%4==0&&year%100!=0||year%400==0) ……(4分)

printf(“%d is a leap year\n”,year); ………….…( 1分)

else

printf(“%d is a leap year\n”,year); …………..…( 1分)

}

60、(1)main()………………………………………….…( 1分)

{inti=1,a=0; ………………………………………( 2分)

while(i<=100) ……………………………….……( 2分)

{if(i%2==0)s+=i; …………………………………( 3分)

i++;}…………………………………………….…( 1分)

printf(“%d”,s); ………………………………….…( 1分)

}

(2)main()………………………………………..……( 1分)

{int i=2,s=0; ………………………………………( 2分)

while(i<=100) ………………………………..……( 2分)

{s+=i; …………………………………..…( 2分)

i+=2;} ………………………….……( 2分)

printf(“%d”,s); ……………………………………( 1分)

}

61、(1

)#include或#include”string.h” …………( 1分)

main()…………………………………………………………( 1分)

{char s[100]; ………………………………………………( 1分)

int i,len; ……………………………………………………( 1分)

scanf(“%s”,s); ……………………………………………( 1分)

len=strlen(s); ………………………………………………( 1分)

for(i=len-1;i>=0;i--)………………………………………( 2分)

printf(“%c”,s[i]); …………………………………( 2分)

}

(2) #include或#include”string.h” ………( 1分)

#include或#include”stdio.h” ……………………( 1分)

main()………………………………………………………( 1分)

{char s[100]; ………………………………………………( 1分)

int i,len; …………………………………………………( 1分)

gets(s); ……………………………………………………( 1分)

len=strlen(s); ……………………………………………( 1分)

for(i=len-1;i>=0;i--)……………………………………( 2分)

printf(“%c”,s[i]); ………………………………( 1分)

}

相关文档
最新文档