201107C语言试卷(A)

更新时间:2023-11-22 00:42:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

青海大学试卷(A)

系别: 班级: 学号: 姓名: 考试课程:《程序设计基础(C)》 考试日期: 2011 年 月 日 注:请将试题答案全部写在答题卡上,否则一律无效! 一.选择题:(每题2分,总分40分) 1. 组成C语言程序的是______。

A) 程序 B) 过程 C) 函数 D) 主程序 2. C语言中运算对象必须是整型的运算符是______。 A) + B) / C) % D) * 3.以下选项中不合法的用户标识符是______。 A) _56 B) print C) _a1 D) a$

4.设有程序段若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是____。 A) a=t,b=t,b=a; B) t=a,a=b,b=t; C) a=a+b,b=a-b,a=a-b; D) b=a+b,a=b-a,b=b-a;

5.已知字母A的ASCII十进制代码为65,下列程序的输出结果是______。 char a=‘a’; a+=2;printf(“%d,%c\\n”,a+‘2’-‘0’,a+‘3’-‘0’); A) e,f B) 69,f C) 69,70 D) 格式描述和输出项不匹配,输出无定值 6.下列程序的输出结果是______。

main( ){int a=21,b=4;printf(“%d\\n”,a=a%b);} A) 1 B) 4 C) 5 D)不确定值

7.若给定语句if(a)b=0;则和表达式a等价的表达式为______。 A) a==0 B) a!=0 C) a==1 D) a!=1 8.下列程序的输出结果是______。

for(x=3; x<6; x++)printf((x%2)?(“**%d”):(“##%d\\n”),x); A) **3 B) ##3 C) ##3 D) **3##4 ##4 **4 **4##5 **5 **5 ##5

9.以下程序的输出结果是______。

int n=10;while(n>7){ n--;printf(“%d”,n);}

A) 10 9 8 B) 9 8 7 C) 10 9 8 7 D) 9 8 7 6

10.当定义一个联合体变量时,系统分配给它的内存是______。

A) 结构体最后一个成员所需内存量的大小 B) 各成员所需内存量的总和

C) 成员中占内存量最大者所需的容量 D) 结构体中第一个成员所需内存量 11.以下程序的输出结果是______。

main( ){ int y=10; for( ;y>0;y--)if(y%3==0){ printf(“%d”,--y);continue;} } A) 741 B) 852 C) 963 D) 875421 12.对下面程序段描述正确的是______。 int x=100;while(x=0)x=x-1;

A) while循环执行了100次 B) 循环是无限循环

C) 循环体语句一次也不执行 D) 循环体语句只执行了一次; 13.下面程序段的运行结果是______。

char s[5]={‘a’,‘b’,‘c’,‘\\0’,‘d’,‘\\0’};printf(“%s”,s); A) ‘a’‘b’‘c’ B) abc C) abc d D) abcd 14.若有以下语句,则正确的描述是______。

char a1[ ]=“123456”;char a2[ ]={‘1’,‘2’,‘3’,‘4’,‘5’,‘6’}; A) a1数组与a2数组长度相同 B) a1数组长度大于a2数组长度 C) a1数组长度小于a2数组长度 D) a1数组等价于a2数组

15.有语句char s1[10],s2[10]={“Qinghai”};则能将s2的值正确赋给s1的语句是______。A) s1={“Qinghai”}; B) strcpy(s1,s2); C) s1=s2; D) strcpy(s2,s1); 16.以下函数调用语句中,含有的实参个数是:______。 func((a1,a2),(a3,a4),(a5,(a6,a7))) A) 7 B) 6 C) 4 D) 3 17.以下程序的输出结果是______。 fun(int a,int b,int c){ c=a*b;}

main( ){ int c; fun(6,3,c);printf(“%d\\n”,c);} A) 0 B) 1 C) 18 D) 无定值 18.以下程序中的for循环执行的次数是______。 #define N 3 #define M N+2

#define NUM (M+1)*M/2 main( )

{ int i;for(i=0;i<=NUM;i++); printf(“%d\\n”,i);}

A) 20 B) 15 C) 19 D) 16

19.已知指针p的指向如图所示,则表达式*(p+2)的值是______。 a[0] a[1] a[2] a[3] a[4] 10 20 30 40 50

p ↑

A) 22 B) 40 C) 42

D) 30 20.以下程序的输出结果是______。

typedef union{ long x[ 3 ];int y[ 4 ];char z[ 8 ];}YOURTYPE; YOURTYPE the;

main( ){ printf(“%d\\n”,sizeof(the));} A) 12 B) 28 C) 8 D) 4 二.填空题(每空1分,总分28分)

1.一个C程序总是从_________函数开始执行,从_________函数结束。 2.结构化程序由_________、_________、_________等三种基本结构组成。 3.函数体由_________部分和_________部分组成。

4.复合语句在语法上被认为是_________,空语句的形式是_________。

5.将下列数学式改写成C语言的关系表达式或逻辑表达式:a>b或a>c __ _ |x|≤6 __ _ 6.当执行以下程序段后,i的值是_________,j的值是_________,k的值是_________。 int a,b,c,i,j;a=10;b=c=5;i=j=k=0; for(;a>b;b=b+2)i++; while(a>++c)j++; do k++; while(a>c++);

7.若有定义:int a[20];则a数组元素下标的上限是_________,下限是_________。 8.有这样的定义:float x;float *p;让指针p指向变量x的语句是_________。 9.若定义char s1[20]=“Qinghai”s2[20]=“Shanghai”;则比较两个字符串时调用的函数是_________,函数调用的形式是_________。

10.若有语句char s[ ]=“qhu\\b\\f\\003beijing”,则strlen(s)=_________。 11.在C语言中,文件的打开使用_________函数,文件的关闭使用_________函数。 12.若已知a=10、b=20、c=1、d=2、e=0,请分别给出下列表达式的运算结果: ⑴ a*b && c _________ ⑵ a+b>1 || a+b<0 _________ ⑶ !(!e) _________ ⑷ !a _________ ⑸ c/d||a/b _________ ⑹ a%b&&d _________

三.程序阅读题(每题4分,总分20分)

1.main( ) { int arr[10],i;for(i=0;i<10;i++) arr[i++]=i;

printf(“%d\\n”,i);} 此程序输出结果: 。 2.doswap( int a, int b)

{ int c;c=a;a=b;b=c;}

main( ) { int a=8,b=6; doswap(a,b) printf(“a=%d,b=%d”,a,b) ;}

此程序输出结果: 。

3.main( )

{ int x=3,y=5; switch(x) {case 1: x++; case 3: x--; case 2: y--; default: x+=y; }

printf(“x=%d, y=%d”,x,y) ;} 此程序的输出结果: 。 4.main( )

{ char a[10]=”string”,*p=a;

printf(“%c”,(*p)+2) ;} 此程序的输出结果: 。 5.main( )

{ int k,a[5]={56,67,3,34,57},mid=a[0]; for(k=0;k<5;k=k+1) if(mid

printf(“%d\\n”,mid) ;} 此程序的输出结果: 。 四.编程题(每题6分,总分12分) 1.计算1-1000中所有奇数的和。(6分)

?x  (x?1)2.编写一个程序完成下述计算:

y???2x?1 (1?x?10) (6分)

??3x?11  (x?10)

青 海 大 学 试 卷(答题卡)

系别: 班级: 学号: 姓名: 考试课程:《程序设计基础(C)》 考试日期: 2011 年 月 日

注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回

题号 一 二 三 四 总分 分数 40 28 20 12 得分 核分人 阅卷人 一.选择题:(每题2分,总分40分) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 二.填空题(每空1分,总分28分)

1.【1】 【2】

2.【1】 【2】 【3】 3.【1】 【2】 4.【1】 【2】 5.【1】 【2】

6.【1】 【2】 【3】 7.【1】 【2】 8.【1】

9.【1】 【2】 10.【1】

11.【1】 【2】

12.【1】 【2】 【3】

【4】 【5】 【6】

三.程序阅读题(每题4分,总分20分)

1. 2. 3.

4. 5. 四.编程题(每题6分,总分12分) 1.(6分)

2.(6分)

程序设计基础(C)试卷参考答案

考试课程: 程序设计基础(C) 考试日期: 2011 年 7月 日 一.选择题:(每题2分,总分40分) 1 2 3 4 5 6 7 8 9 10 C C D A B A B D B C 11 12 13 14 15 16 17 18 19 20 B C B B B D D A B A 二.填空题(每空1分,总分28分)

1.【1】主函数或main 【2】主函数或main

2.【1】顺序 【2】选择 【3】循环 3.【1】声明 【2】执行 4.【1】一条语句 【2】;

5.【1】a>b||a>c 【2】x>=-6&&x<=6

6.【1】3 【2】4 【3】1 7.【1】19 【2】0 8.【1】p=&x;

9.【1】strcmp 【2】strcmp(s1,s2) 10.【1】13

11.【1】fopen 【2】fclose

12.【1】1 【2】1 【3】0

【4】0 【5】0 【6】1 三.程序阅读题(每题4分,总分20分)

1.10 2.a=8,b=6 3.x=6,y=4 4.u 5.67

四.编程题(每题,总分12分) 1.(6分) #include void main() (1分) { int i,sum=0; (1分)

for(i=1;i<=1000;i++) (1分) if(i%2!=0) (1分)

sum+=i; (1分)

printf(“%d”,sum); } (1分) 2.(6分)

#include”stdio.h” void main( ) (1分) { float x,y; (1分) scanf(“%f”,&x); (1分) if(x<1)y=x; (2分)

else if(x>=1&&x<=10)y=2*x-1; else y=3*x-11;

printf(“y=%d ”,y); } (1分)

本文来源:https://www.bwwdw.com/article/3jrv.html

Top