C语言 程序设计基础试题五及答案

发布时间:2024-11-25

程序设计基础——C语言,计算机二级期末考试看这几套试题一定有帮助,而且后边还附有答案。

《程序设计基础》考试试卷五

班级 姓名 学号____________

1.以下叙述中正确的是( )

A. C程序中注释部分可以出现在程序中任意合适的地方 B. 花括号"{"和"}"只能作为函数体的定界符

C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名 D. 分号是C语句之间的分隔符,不是语句的一部分 2.在一个C语言程序中( )

A. main函数必须出现在所有函数之前 B. main函数可以在任何地方出现 C. main函数必须出现在所有函数之后 D. main函数必须出现在固定位置

3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )

A. a-b B. #abd C. typedef D. _max

4.为表示关系X≥Y≥Z,应使用C语言表达式( ) A. (X≥Y)&&(Y≥Z) B. X>=Y>=Z

C. (X>=Y)‖(Y>=Z) D. (X>=Y)&&(Y>=Z) 5.设有一分段函数: x=1 a<b且c=d

x=2 a>=b

则下列程序段哪个是正确的( )

A. if(a<b) B. if (a<b) C. if (a>b) D. if (a>=b) if(c= =d) {if (c= =d) if (c= =d) x=2;

x=1; x=1; x=1; else

else x=2; else x=2;} else x=2; {if(c= =d) x=1;} 6.若有两条语句:static char x[]=”abcde”;

static char y[]={ a , b , c , d , e }; 则下列说法中正确的是( )

A. x数组和y数组长度相同 B. x数组长度大于y数组长度 C. x数组长度小于y数组长度 D. 以上三种说法均错误。 7.返回值为void的函数,其含义是( )

A. 调用函数之后,被调用的函数没有返回值; B. 调用函数之后,被调用的函数不返回

C. 调用函数之后,被调用的函数返回值为任意类型 D. 以上三种说法均不正确。

程序设计基础——C语言,计算机二级期末考试看这几套试题一定有帮助,而且后边还附有答案。

8.指出下列程序段中那个语句是不正确的( )(int x,y,z[10],*px,*py) A. px=&x,py=px B. px=x C. py=&y D. px=z 9.在printf语句中按字符串输出的格式是( ) A. “%s” B. “%c” C. “%f” D. “%d”

10.C语言中,运算对象必须是整型的运算符是( )

A. % B. / C. %和/ D. >= 11.以下说法正确的是( )

A. C语言程序总是从第一个定义函数开始执行;

B. 在C语言程序中,要使用的函数必须在main()函数中定义; C. C语言程序总是从main()函数开始执行;

D. C语言程序的main()函数必须在程序的开始部分。 12.已定义以下函数 fun(int *p) { return *p; }

该函数的返回值是( )

A. 不确定的值 B. 形参p中存放的值 C. 形参p所指存储单元中的值 D. 形参p的地址值

13.对于scanf(“A=%d”,&a)语句,输入10的正确的输入形式是( ) A. a=10 B. A=10 C. 10 D. =10

14.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )

A.c=b=a; B.(a=c)‖(b=c); C. (a=c)&&(b=c); D. a=c=b; 15.在C语言中,不正确的int类型的常数是( )

A .32768 B. 0 C. 037 D. 0xAF 16.若有以下说明语句(已知int占2个字节,long 占4个字节),则下面printf的输出结果是( A. 24 B. 26 C. 20 D. 30 union uarea

{ int x; long y;}; struct str

{ char s[20];

union uarea z;}; main()

{printf(“%d\n”,sizeof(struct str));}

17.下列关于switch和break语句的讨论中,只有( )是正确的。

A. break语句是switch 语句的一部分

B. 在switch语句中可以根据需要使用或不使用break语句 C. switch语句中必须使用break语句 D. 以上三种说法都不正确。

18.以下不能正确定义二维数组的选项是 ( )

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

)

程序设计基础——C语言,计算机二级期末考试看这几套试题一定有帮助,而且后边还附有答案。

19.执行以下程序后,输出结果是( ) A. –1 B. 1 C. 8 D. 0 main() { int y=11;

while(--y) { y--;}

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

20.main()

{ int a=5,*b,**c; c=&b; b=&a; …… }

程序在执行了c=&b;b=&a;语句后,表达式:**c的值是( ) A. 变量a的地址 B. 变量b中的值 C. 变量a中的值 D. 变量b的地址

1 2.

4.

三、程序改错题(每题5分,共20分) 注:下列每小题有一个错误,找出并改正

1. #i nclude "stdio.h"

程序设计基础——C语言,计算机二级期末考试看这几套试题一定有帮助,而且后边还附有答案。

main()

{ char c,*ch=&c;

while((c=getchar())!= \n ) { if(ch>= a &&ch<= z ) putchar(*ch- a + A ); else

putchar(*ch); } }

2.求100以内的正整数中为13的倍数的最大值。 main() { int i;

for(i=100;i>=0;i--);

if(i%13==0) printf("%d",i); }

3. 求1+2+3+…+100 main() { int i=1; do

{ sum+=i; i++; }while(i <=100); printf("%d",sum); }

4. 计算 1+1/2+1/3+…+1/10 main()

{ double t=1.0; int i;

for(i=2;i<=10;i++) t+=1/i;

printf("t=%f\n",t); }

四、把以下的程序补充完整(每空2.5分,共10分)

1、1.以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数

值返回,并通过形参传回此最大值所在的行下标。请填空。 #define N 3 #define M 3

select(int a[N][M],int *n) { int i,j,row=1,colum=1; for(i=0;i<N;i++) for(j=0;j<M;j++)

程序设计基础——C语言,计算机二级期末考试看这几套试题一定有帮助,而且后边还附有答案。

if(a[i][j]>a[row][colum]){row=i;colum=j;} ; }

2.函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下

1

1 1 其构成规律是:

1 2 1 (1) 第0列元素和主对角线元素均为1

1 3 3 1 (2) 其余元素为其左上方和正上方元素之和 1 4 6 4 1 (3) 数据的个数每行递增1 请将程序补充完整。 #define N 6

void yanghui(int x[N][N]) { int i,j;

x[0][0]=1;

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

五、编程题(每题10分,共30分)

注:每个编程题都应画出N-S图,N-S图占一半的分数 1.判断某一年是否为闰年。(规则:如果某年份能被4整除而不能被100整除,该年份为闰年;

如果某年份能被4整除,且又能被400整除,该年份也为闰年。除此之外,都不是闰年。)

2.写一个函数,在主函数中输入一个数,然后调用该函数判断该数是否是素数,最后输出判断

结果。(判断一个数m是否是素数可让该数m被2,3,4

去除,如果m能被其中的任何一个整数整除,则证明它不是素数;相反,如果m不能被2

之中的任何一个整数整除,则证明m为素数。)

3.编写函数,将整型数组中的各元素按相反顺序存放(不使用辅助数组)。要求采用两种方法:

1) 函数中采用下标运算;

2) 函数中利用指针自加或自减间接访问数组单元。

要求:输入、输出在主函数中完成。main函数和子函数都要写出。

程序设计基础——C语言,计算机二级期末考试看这几套试题一定有帮助,而且后边还附有答案。

《程序设计基础》试卷五参考答案

一、选择题(每题1分,共20分)

1-5:ABDDD 6-10:BABAA 11-15:CCBCA 16-20:ABBDC 二、写出下列程序的执行结果(每题5分,共20分)

1. 25 2.48 3.3 5 7 4.1 9

三、程序改错题(每题5分,共20分) 1. if(*ch>= a &&*ch<= z ) 2. for(i=100;i>=0;i--);

if(i%13==0) break; printf("%d",i);

3.前面加:sum=0;4. t+=1.0/i;

四、把以下的程序补充完整(每空2.5分,共10分)

2、1.row, a[row][colum] 2.x[i][i],x[i-1][j-1]+x[i-1][j] (位置可以换) 五、编程题(每题10分,共30分)

注:每个编程题都应画出N-S图,N-S图占一半的分数 1.main() 3.void nx1(int aa[])

{int year,leap;

scanf(“%d”,&year); if (year%4==0) {if(year%100==0)

{if(year%400==0) leap=1;

else leap=0; }

else leap=1;

}

else leap=0;

if (leap) printf(“%d is a leap year\n”,year); else printf(“%d is not a leap year\n”,year);

}

2.#include “math.h” main() {int m,k,i;

scanf(“%d”,&m); k=sqrt(m);

for(i=2;i<=k;i++) {if (m%i==0) break; }

if (i>=k+1) printf(“%d 是素数”,m); }

{int i,t;

for(i=0;i<=4;i++) {t=aa[i];

aa[i]=aa[9-i]; aa[9-i]=t; } }

void nx2(int *pp)

{int t,*q,*qq;q=pp+4;qq=pp+9; for(;pp<=q;pp++,qq--) {t=*pp; *pp=*qq; *qq=t; } }

main()

{int a[10]={1,2,3,4,5,6,7,8,9,10}; int i,*p;p=a; nx1(a);nx2(p); for(i=0;i<=9;i++) {printf(“%d”,a[i]); } }

程序设计基础——C语言,计算机二级期末考试看这几套试题一定有帮助,而且后边还附有答案。

C语言 程序设计基础试题五及答案.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219