永发信息网

麻烦帮忙做下C语言试卷!!

答案:2  悬赏:60  手机版
解决时间 2021-04-28 07:50

一、填空题:

1、 函数体一般包括声明部分和( ).通常用作为程序的( )部分.

2、 “=”是( )符号,不是等号。在c语言中等于号用( )表示。

3、 设 int a=1,b=2,c=3,d;执行d=!(a+b+c)后,d的结果是( )

4、设int x=2;表达式(x&&1==1)?1:0的值是( )

5、如下程序的输出结果是( )和( )

main()

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

int *p;

p=a;

printf("%d,%d\n",*p,*(p+3)); }

6、(123)8表示的十进制数是( ).

7、定义二维数组a[5][6];后,第10个元素是( )

8、"*"称为( )运算符,"&"称为( )运算符.

9、在内存中存储“A”要占用( )个字节,存储‘A’要占用( )个字节。

10、C语言中文件按存储方式分为( )文件和( )文件。

11、从变量存在的时间长短(即变量的生存期)来划分,变量可以分为( )和( )。

12、do~while语句的其一般形式为( )。

13、一个函数返回值的类型由( )来决定。

14、已知 x=2.5,y=4.7,a=7, 则x+a%3*(int)(x+y)%2/4的值为( )。

15、有如下函数调用语句:func(r1,r2+r3,(r4,r5));该函数调用语句中,含有实参的个数是( )。

16、若有定义a[3][5];则排列在数组中的第8个元素是( )。

17、Break语句只能用于( )语句和( )语句。

18、结构化程序设计的三种基本结构包括( )( )( )。

19、能正确表示x的取值范围在[0,100]或[-10,-5]内的表达式为( )。

20、若定义char *p=“I love china”;则*p和*p(p+4)分别为( )和( )。

21、十六进制数0x3e对应的十进制数是( )。

二、选择题:

1、以下不正确的c语言标识符是( )

A.abc B.A123 C.ab_name D.123#

2、设d为字符变量,下列表达式正确的是( )。

A、d=678 B、d=’a’ C、d=”d” D、d=’gikl’

3、以下关于数组的描述正确的是( )

A 数组的大小是固定的,但可以有不同的类型的数组元素

B 数组的大小是可变的,但所有数组元素的类型必须相同

C 数组的大小是固定的,所有数组元素的类型必须相同

D 数组的大小是可变的,可以有不同类型的数组元素

4、字符串“m\x43\\\np\102q”占用的存储空间为( )字节。

A、7 B、8 C、15 D、16

5、以下对二维数组a进行正确初始化的是( )

A. int a[2][3] ={{1,2},{3,4},{5,6} } ;

B. int a[][3] = {1,2,3,4,5,6};

C. int a[2][] = {1,2,3,4,5,6};

D. int a[2][] ={{1,2},{3,4}};

6、执行printf("%d",strlen("china\n"))后的结果是( )

A.5 B.6 C.7 D.9

7、C语言源程序的基本单位是( )

A 过程 B 函数 C 子程序 D 标志符

8、有如下语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是( )

A. 132 B. 1,3,2 C. a=1,b=3,c=2 D. a=1 b=3 c=2

9.设int m=1,n=2,则++m==n的结果是( )

A.0 B.1 C.2 D.3

10.对于二维数组a[2][3],元素a[0][2]是数组的第几个元素( )

A.3 B.4 C.5 D.6

11、逗号表达式(a=3*5,a*4),a+15的值为( )

A. 15 B.60 C.30 D.不确定

12. 下列类型属于构造数据类型的是( )。

A、结构体类型和指针类型 B、共同体类型和实型

C、结构体类型和枚举类型 D、数组和空类型

13. 若有如下语句:int *p1,*p2;则其中int所指的是( )

A. p1的类型 B.p2的类型

C.*p1和*p2的类型 D.p2和p1所能指向变量的类型

14.以下定义后,正确的k值是( )

enum{a, b=5,c,d=4,e}k;

k=e;

A.3 B.4 C.5 D.6

15.使用共用体union的目的是( )

A. 将一组数据作为一个整体,以便于其中的成员共享同一存储空间

B. 将一组具有相同数据类型的数据作为一个整体,以便于其中的成员共享同一存储空间

C. 将一组相关数据作为一个整体,以便程序中使用

D、将一组具有相同数据类型的数据作为一个整体,以便于程序中使用

16、以下正确的c语言标识符是( )

A.“abc” B.for C.ab_name D.123#

17、若用数组名作为函数调用的实参,传递给形参的是( )。

A、数组的首地址 B、数组第一个元素的值

C、数组中全部元素的值 D、数组元素的个数

18、下列说法中正确的是( )。

A、main函数必须放在C程序的开头。

B、main函数必须放在C程序的最后。

C、main函数可以放在C程序的中间部分,但执行时是从程序开头执行的。

D、main函数可以放在C程序的中间部分,但执行时是从main函数开始的。

19、以下对二维数组a进行正确初始化的是( )

E. int a[3][] ={‘abc’,‘1’};

F. int a[][3] ={‘abc’,‘1’};

G. int a[3][] ={‘a’,“1”};

H. int a[][3] ={“a”,“1”};

20、有定义char s[20]={ "china\n"};printf("%d",strlen(str))后的结果是( )

A.5 B.6 C.20 D.9

21、一个C程序中有且仅包含一个的是( )

A 过程 B main()函数 C 子程序 D 局部变量

22、c语言中,运算对象必须是整型数的运算符是( )

A.% B./ C.%和/ D.**

23、假设array是一个有10个元素的整型数组,下列写法正确的是 ( )

A.array[10]=0 B. array=0

C. array[0]=10 D. array[-1]=0

24、设int i=3,则printf(“%d”,-i++)的结果和i的值分别为( )

A. -3,4 B.-4,4 C.-4,3 D.-3,3

25. 若有定义int a[10],则a代表的是数组a的( )。

A、第一个元素 B、最后一个元素

C、首地址 D、最后一个元素的地址

26. 以下for循环执行次数是(  )。

for(a=0,b=0;(b!=123)&&(a<=4);a++)

A、无限循环 B.5次 C.4次 D.次数不定

三.分析程序,给出程序的运行结果

1. 写出以下程序输入123456<回车>后的输出结果.

main()

{ int a,b;

scanf("%2d%3d",&a,&b);

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

输出结果:

2. main()

{ int i,j;

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

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

{ if(i==0||j==0||i==3||j==5)

printf(“*”);

else printf(“ ”);

printf(“\n”);

}

输出结果:

3. #include<string.h>

void fun(char *s,int p,int k)

{int i;

for(i=p;i<k-1;i++)

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

}

main()

{char s[]="abcdefg";

fun(s,3,strlen(s));

puts(s);

}

输出结果:

4. #include<stdio.h>

main( )

{int a=1,b=2;

switch(a)

{case 1: switch(b)

{ case 1:printf(“**o**”);break;

case 2:printf(“**1**”);break;}

case 2: printf(“**2**”);break;}

}

输出结果:

5. main()

{ int a=5,*p;

p=&a;

a=*p+5;

printf("a=%d",a);}

输出结果:

6、int m=10;

int func(int x,int y)

{ int m=5;

return (x*y-m); }

main()

{ int a=7,b=5;

printf(“%d”,func(a,b)/m);

}

输出结果:

7、 main()

{int i,j;

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

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

printf(“ ”);

for(j=1;j<=2*i-1;j++)

printf(“*”);

printf(“\n”);}

}

输出结果:

四、程序填空题,在程序的空白处填上合适的语句

1、 根据以下的if语句写出与其功能相同的switch语句(x的值在0~100之间)

if语句:

if(x<60) m=1;

else if(x<70) m=2;

else if(x<80) m=3;

else if(x<90) m=4;

else if(x<100) m=5;

switch语句:

switch( )

{case 0: case 1: case 2: case 3: case 4: case 5: m=1;break;

case 6:m=2;break;

case 7:m=3;break;

case 8:m=4;break;

( ):m=5;

}

2、以下程序实现打印200~300之间所有的素数。

( )

void main()

{ int m,i,k,n=0;

for(m=200;m<=300;m+=2)

{ ( );

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

if(m%i==0) break;

if( )

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

n++;

}

if(n%10==0) printf(“\n”);

}

}

3、用冒泡法对10个数由小到大排序。

main( )

{int a[11],i,j,t;

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

scanf(“%d”,&a[i]);

for(j=1;j<=9;j++)

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

if( )

{t=a[i]; ( );a[i+1]=t;}

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

printf(“%d ”,a[i]);}

4、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束统计,请填空。

Main( )

{ float x,max,min;

scanf(“%f”,&x);

max=min=x;

while( )

{if (x>max) max=x;

if( x<min) min=x;

( )

}

printf(“\nmax=%f\nmin=%f\n”,max,min);

}

五.编程题

1、编写函数,求1到n的和,然后调用该函数

求S=(1+2+3+……+10)/(1+2+3+……+100)*(1+2+3+……+50)

2、 编写程序输出下列图案: *

***

*****

*******

3、利用for循环编写一段能产生如下结果的程序。

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

最佳答案
你们2个还真搞笑,加我Q吧,我一题一题说,做试卷真麻烦,挂C我们班也有啊
全部回答

大哥可以教我编程吗 我一点都不会

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
不适合放进冰箱里的水果?
女人一天都在想什么
瓷土原矿多少钱一吨,瓷土一般多少钱一吨
关于5-8位QQ的IP问题
冒险岛海盗2转竞技场在那?
梦幻诛仙这游戏有宠物进化吗?
我每晚都做梦,谁来救救我啊
人物对比描写的句子,描写人物外貌的句子
难道我还在意过去的爱吗?
官网看NBA问题
巴沙瘦身果一天服多少
硬盘数据读不过去;
DNF 对手等级大于进入异常状态等级 几率减少
世纪旅馆这个地址在什么地方,我要处理点事
呐个、去爬山,在一天达,那段时间去丫?比较
推荐资讯
世界上什么东西不会坏
请问湛江哪有这种手绳卖?
北纬26度有什么特殊的
固定电话冲QB,帐上却没有
如何才能练微操
河源市龙川县铁场镇的邮政编码是多少
DNF连招用快捷键好还是按键好?
为什么我晚上睡不着觉!
谁能告诉我应用电子这个专业怎么样啊?
在△ABC中,若a*a+b*b+ab<c*c,则△ABC是
钦州新天地饲料有限公司怎么去啊,有知道地址
一按关闭按钮电脑就关机
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?