补考c程序设计语言,补考要过

我学校的练习题,没答案...可以看看~

一、单项选择题(每小题2分,共30分)

在每小题的四个备选答案中,只有一个答案是正确的,将选出的正确答案写在横线上,多选、不选均不得分。

1.组成C语言程序的是(  )。

A)子程序

B)过程

C)函数

D)主程序和子程序

2.下面四个选项中,均是不合法的用户标识符的选项是(  )。

A) A           B) float            C) b-a             D) _123

P_0            la0                goto               temp

do             _A                 int                INT

3.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(  )。

A)7           B)8              C)6          D)2

4.下面不正确的字符串常量是(  )。

A)'abc'    B)"12'12"         C)"0"      D)" "

5.在C语言中,要求运算数必须是整型的运算符是(  )。

A) /       B) ++           C) !=     D) %

6.若有说明语句:char c='\x65';则变量c(  )。

A)包含1个字符                B)包含2个字符

C)包含3个字符                D)说明不合法,c的值不确定

7.表达式语句是由表达式后加(  )构成的。

A) 逗号      B) 分号        C) 问号     D) 句号

8.逻辑运算符两侧运算对象的数据类型(  )。

A) 只能是0或1

B) 只能是0或非0正数

C) 只能是整型或字符型数据

D) 可以是任何类型的数据

9.有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d)后n的值是(  )。

A) 1          B) 2          C) 3          D) 4

10.判断char型变量cl是否为小写字母的正确表达式是(  )。

A)'a'<=cl<='z'             B) (cl>=a)&&(cl<=z)

C) ('a'>=cl)||('z'<=cl)    D) (cl>='a')&&(cl<='z')

11.以下程序的输出结果是(  )。

main( )

{ int x=10, y=10,i;

for(i=0;x>8;y=++i)

printf("%d %d",x--,y);

}

A)10   1   9   2

B)9    8   7   6

C)10   9   9   0

D)10   10  9   1

12.设int a=1,则执行完循环While(a++<5);a的值是(  )。

A)6

B)5

C)1

D)-264

13.下列程序片段中不正确的字符串赋值或初始化方式是(  )。

A)char str[10]="string";

B)char str[7]={'s','t','r','i','n','g','\0'};

C)char str[10];

str="string";

D)char str[]="string";

14.以下程序的输出结果是(  )。

main( )

{  int I, x[3][3]={9,8,7,6,5,4,3,2,1},*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

15.若以“a+”方式打开一个已存在的文件,则以下叙述正确的是(  )。

A) 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作

B) 文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作

C) 文件打开时,原有文件内容被删除,只可作写操作

D) 以上各种说法皆不正确

二、填空题(本大题共10小题,每小题1.5分,共15分)

1.设char string[ ] =”cqeec”;则数组的最小长度应是(  )。

2.函数调用时,若形、实参数均为数组,则其传递方式是(  )。

3.设int k=-1;将k强制转换为双精度类型的表达式是(     )。

4.C语言中形式参数的缺省存储类别是(  )。

5.若有以下定义和语句,char s[12]="a book!";printf("%d",strlen(s));则输出结果是(  )。

6.设变量a是整型,f是实型,i是双精度型,则表达式10 + 'a' + i * f值的数据类型为(  )。

7.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));

上面程序片段的输出结果是(  )。

8.为表示关系x≥y≥z,应使用C语言表达式(  )。

9.表示空类型的保留字是(  )。

10.C语言中根据数据的组织形式,把文件分为文本文件和___________两种。

三、程序分析题(每小题5分,共25分)

1. #include “stdio.h”

main()

{

int a,b,c;

a=1;b=5;c=-1;

if (a++||++b) c++;

printf("%d%d%d\n",a,b,c);

}

输出结果是:__________________

2. #include

void main()

{ char *s="12134211";

int a=0,b=0,c=0,d=0;

int k;

for(k=0;s[k];k++)

switch(s[k])

{ default:d++;

case'1':a++;

case'3':c++;

case'2':b++;

}

printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);

}

上述程序执行后,程序的输出结果是:______________

3.#include “stdio.h”

main()

{

int  x,sum=3;

int  a[ ]={2,3,4,5,6,7,8,9};

for (x=1;x<7;x*=2)

sum=sum+a[x];

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

}

程序运行结果:_________________________

4. 请分析下面的程序片段,并完成后面的题目

main( )

{ char s1[ ]= "aBC",s2[ ]= "abc";

if (strcmp(s1,s2)= =0) printf("s1=s2");

else if (strcmp(s1,s2)>0) printf("s1>s2");

else printf("s1

}

输出结果是:__________________

5. #include “stdio.h”

main()

int a,b,s;

scanf(“%d%d”,&a,&b);

s=a;

if(a

s=s * s;

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

若执行上面的程序时从键盘上输入3和4,则输出结果是:____________

四、程序填空题(本大题共2小题,每空2分,共12分)

给出下列程序,将横线处缺少的部分补上,使其能正确运行

1.输入一个字符,判断它是否为大写英文字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

#include  “stdio.h”

main( )

{

char  ch;

scanf(“%c”,_____________);

if (_________________________) ch=ch+32;

printf(“%c\n”,_______________);

}

2. 输入三位正整数,分解为各个位数之和,例如423分解为4+2+3.

#include “stdio.h”

main(  )

{

int  n, c,c1,c2,c3;

printf(“Enter n=”);

scanf(“%d”,&n);

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

c=0;c1=0;c2=0;c3=0;

c1=___________________;  /*求百位*/

c2=(n-c1*100)/10;

c3=___________________; /*求个位*/

c =___________________;

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

五、程序设计题(本大题共2小题,第一小题8分,第二小题10分,共18分)

1.编写程序,从键盘输入10个整型数据,分别统计正数、负数和零的个数,并将统计结果输出。

2.试利用结构体类型编制一程序,实现输入三个学生的学号、姓名及C语言期中和期末成绩然后计算并输出其平均成绩。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值