浙江理工大学C语言期末试题(含答案)优质版

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

C程序设计试卷

一、单选题(本题共20分,每小题2分)

(1) 以下C语言常量中,表达错误的是___(1)___。

[A] 0xFF [B] 3.2e0.5 [C] 5.6 [D] ‘\n’

(2) C程序的基本结构有___(2)___。

[A] 选择、重复和模块[B] 顺序、选择和模块

[C] 顺序、选择和循环[D] 逻辑、物理和程序

(3) 在C语言程序中,关于字符串的描述正确的是___(3)___。

[A] 可定义一个字符串变量来存储字符串;

[B] 可定义一个字符变量来存储任意字符串;

[C] 可定义一个字符数组来存储字符串;

[D] 可定义一个字符指针来存储字符串;

(4) 在C语言中,用关键字___(4)___定义双精度类型变量。

[A] single [B] double [C] float [D] int

(5) 下面叙述中不正确的是___(5)___。

[A] 不同函数中可以使用相同名字的变量

[B] 形式参数是局部变量

[C] 在一个函数内部的复合语句中定义的变量在本函数范围内有效

[D] 在一个函数内部定义的变量只能在本函数范围内有效

(6) 下面程序段的输出结果是___(6)___。

int i=100;

while(i>120)

i=i+1;

printf(″%d″,i);

[A] 100 [B] 101 [C] 120 [D] 121

(7) 以下定义语句中正确的是___(7)___。

[A] char a='A' b='B';

[B] float a=b=10.0;

[C] int a=10, *b=&a;

[D] float *a,b=&a;

(8) 已有定义:int i, a[10], *p;,则合法的赋值语句是___(8)___。

[A] p=100; [B] p=a[5]; [C] p=a[2]+2; [D]p=a+2;

(9) 设有定义:int a,*p1=&a; 以下scanf语句中能正确为变量a读入数据的是___(9)___。

[A] scanf(“%d”,p1);

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

[C] s canf(“%d”,&p1);

[D] scanf(“%d”,*p1);

(10) 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是___(10)___。

[A] if((a>b)&&(b>c)) k=1 else k=0;

[B] if((a>b)||(b>c)) k=1 else k=0;

[C] if(a<=b) k=0;

[D] if(a>b) k=1;

二、程序填空题(本题共30分,每小题2分)

阅读下列程序说明和程序代码,在每小题提供的若干可选项中,挑选一个最佳的选项。(1)【程序说明】

输入整数n,输出共有n层的金字塔图形。例如:

【程序代码】

# include

void main() {

int i,j,n;

char c='*';

printf("输入层数:");

scanf("%d",&n);

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

for(j=1;j<=n-i; (12) )

printf(" ");

for(j=1; (13) ;j++){

printf( (14) ,c);

}

printf("\n"); //换行,在内嵌循环结束后执行

(15)

}

【选项】

(11) [A] i<=n+1 [B] i<=n [C] i

(12) [A] i++ [B] j=i+1 [C] j++ [D] i=j+1

(13) [A] j>=2*i-1 [B] j<=2*i-1 [C] j<=2*n-1 [D] j<=n

(14) [A] "%d" [B] "%s" [C] "%c" [D] "%f"

(15) [A] } [B] )[C] };[D] 以上选项都不正确 (2)【程序说明】输入年份判断是否闰年。

【程序代码】

#include

main() {

int year,leap;

scanf("%d", (16) );

if (year%4==0) {

if (year%100==0)

{

if (year%400==0)

leap=1;

(17)

leap=0;

}

else

leap=1;

}

else

(18) ;

if ( (19) )

printf ("%d is ", (20) );

else

printf ("%d is not ",year);

printf ("a leap year.\n");

}

【选项】

(16) [A] year [B] &year [C] &n [D] &leap

(17) [A] else if [B]else; [C] else [D] else if(leap==1)

(18) [A] leap=0 [B] leap=1 [C] year=0 [D] year=1

(19) [A]year=1 [B] leap [C] leap =0 [D]以上选项都不正确

(20) [A]leap [B] &leap [C]year [D]&year

(3)【程序说明】输入十个整数并保存在一维数组中,使数组中每个元素都增加10。

【程序代码】

#include

main() {

int a[10],i;

(21)

p=a;

for (i=0;i<10;i++){

scanf("%d", (22) );

相关文档
最新文档