青海大学昆仑学院C语言试卷

更新时间:2023-06-01 21:20:01 阅读量: 实用文档 文档下载

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

青海大学昆仑学院C语言试卷

青 海 大 学 昆 仑 学 院 试 卷

(A)

5.为表示关系a≥b≥c,应使用的C语言表达式是( A )。 A.(a>=b)&&(b>=c) B.(a>=b)AND(b>=c) C.(a>=b>=c) D.(a>=b)&(b>=c)

6.字符型常量在内存中存放的是( B )。

A.BCD代码 B.ASCII代码 C.内部码 班级: 学号: 姓名: 考试课程: 程序设计语言(C) 考试日

期:2011X年 7 月 日

注:所有答案均写在答题卡上,答在试卷上不得分,

考试结束后试卷和答题卡一并交回

一.填空题(每空1分,共15分)

1.一个C程序总是从 主函数(或main) 开始执行的。

2.表达式2/3+7%4+3.5/7的值是 3.5 。 3.在函数内部定义只在本函数内有效的变量叫 内部变量(或局部变量) 。

4.C语言中用 1(或非零) 表示逻辑值“真”,用 0

表示逻辑值“假”。

5. 将数学式

a b2

改写成C语言表达式为 sqrt(a+b*b) 。

6. 有程序段:int f=-1;printf(“%d,%u”,f,f);则输出

结果为 -1 、 65535 。

7. 数组在内存中占 连续 的存储区,用 数组名

代表其首地址。

8.有定义static int a[5]={2,4,6,8,10},*p; p=&a[0];

与p=&a[0]等价的语句是 p=a ,*(p+1)的值是 4 ,*(a+2)的值是 6 。

9.有结构体和共用体的变量定义如下:

struct aa{int a;char c;float x;}b1;

union bb{int a;char c;float x;}b2;

则变量b1和b2占用的内存空间的字节数分别为 7

和 4 。

二.选择题(每小题2分,共计40分)

1.下列变量名合法的是( B )。

A.B.C.TOM B._test C.3a6b D.ab$ 2.C语言中运算对象必须是整型的运算符是( B )。 A. / B.% C.! D.* 3.以下程序的输出结果是( D )。 A.a=%2,b=%5 B.a=2,b=5 C.a=%%d,b=%%d D.a=%d,b=%d

main()

{ int a=4,b=9; printf(“a=%%d,b=%%d\n”,a,b);} 4.下列程序的输出结果是( C )。

A.18 B.9 C.-18 D.-9 main() { int a=9;a+=a-=a+a;printf(“%d\n”,a); }

D. 十进制码 7.对下面程序段描述正确的是( D )。 A. while循环执行了10次 B. 循环是无限循环

C. 循环体语句一次也不执行 D. 循环体语句只执行一次

{int x=10;do{ x=x-1;} while(x==0);} 8. 下面选项中,与if(a)等价的是(D )。

A.if(a==0) B.if(a!=0) C.if(a=0) D. if(a==1)

9.有程序段: int n=1;do{++n;n=n*5;}while(n=10);

( B )

A.执行一次 B.执行2次 C.不执行 D.执行无限次

10.若有声明语句:int b[2][4];则对a数组元素的正确引

用是( A )。

A.b[1][3] B. b[1][4] C. b[2][4]

D.b[0][4]

11.欲将字符串“kunlun college”赋给字符数组str,正

确的语句是( D )。

A.str=“kunlun college”; B.str=“kunlun

college\n”;

C.strcpy(“kunlun college”,str);

D.strcpy(str ,“kunlun college”);

12.语句printf(“%d\n”,strlen(“xining”));的输出结

果是( B )。

A.7 B.6 C.存在语法错误 D.不

定值

13.以下函数的类型是( C )。

A.与参数x的类型相同 B.void类型 C.int类型 D.无法确定

ff(float x)

{ printf(“%d\n”,x*x);}

14. 若用数组名作为函数调用的实参,传递给形参的是( A )

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

C.数组中全部元素的值 D.数组元素的个数 15.以下不正确的说法是( C )。 A.在C语言中允许函数递归调用

B.函数值类型与返回值类型出现矛盾时,以函数值类型为

第 1 页 共 3 页

青海大学昆仑学院C语言试卷

C.形参可以是常量、变量或表达式

D.C语言规定,实参变量对形参变量的数据传递是“值传递”

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

A.15 B.100 C.10 D.150 #define MAX(x,y) (x)>(y)?(x):(y) main()

{ int i=10,j=15,k;k=10*MAX(i,j); printf(“%d\n”,k);}

17.函数直接或间接地自己调用自己,被称为函数的( A )。

A.递归调用 B.主函数调用 C.自定义调用 D.嵌套调用

18.下列说法中错误的是( D )。

A.枚举类型中的枚举元素是常量 B.一个整数不能直接赋给一个枚举变量

C.枚举类型中枚举元素的值都是从0开始以1为步长递增 D.typedef可以用来定义新的数据类型

19.在C语言中,对文件的存取是以( A )为单位的。 A. 字节 B.函数 C. 记录 D.模块 20.当fclose函数正确执行后,函数的返回值是( A )。 A.0 B.-1 C.1 D.非零值

三.阅读下列程序,按题意填空(每空2分,共计16分)

1.有以下程序(求20以内的偶数和,包括20)。请填空:

#include <stdio.h>

main(){ int n=0,sum=0;

do{ n++;if( ① n%2==0 ); sum+=n;} while

( ② n<=20 ); printf(“%d\n”,sum);}

2.以下程序判断输入的一个整数m是否既能被4又能被6整

除,若能整除,输出“YES”,若不能整除,输出“NO”。请填空:

#include <stdio.h> main(){ int m;

printf(“Enter a int number:”); scanf(“%d”, ③&m );

if( ④m%4==0 && m%6==0 ) printf(“YES\n”);

else printf(“NO\n”);}

3.以下程序的功能是输出杨辉三角形。请填空:

#include <stdio.h>

main( ){ int a[10][10],int i,j; for(i=0;i<10;

i++) a[i][0]=1;

for( i=1(或i=0);i<10;i++) a[i][i]=1; for( i=2 ;i<10;i++)

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

a[i][j]= a[i-1][j-1]+a[i-1][j] ; for(i=0;i<10;i++)

{

for(j=0

j<=i

j++)

printf(“%4d”,a[i][j]);printf(“\n”);} }

四.程序阅读题(每题3分,共计9分)

1.#include <stdio.h> 输出结果: 8 。

main(){int k=5,m=1;

switch(k){ case 1: m++;

case 5: m*=4; case 9: m+=4; break; default: m+=3; }

printf(“%d”,m) ;} 2.#include <stdio.h> 输出结果: 12 。

main( )

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

sum=0;

for(i=0;i<=2;i++) sum+=a[i][i]; printf(“%d\n”,sum); }

3.int a=9,b=5; 输出结果: 3 。

int min(int a, int b)

{ int c;c=a<b?a:b; return(c);}

main( ) { int a=3; printf(“min=%d”,min(a,b));}

五.编程题(共计20分)

1.(8分)利用循环求12

+22

+32

+42

+52

。 #include <stdio.h> main( ) {int i,sum=0;

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

sum+=i*i;

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

2.(6分)从键盘输入8个任意整数,计算数组中所有的负数之和(用一维数组)。

#include <stdio.h> main( )

{int i,j,a[8], sum=0;

printf(“Please input 8 numbers:\n”); for(i=0;i<8;i++) scanf(“%d”,&a[i]); for(i=0;i<8;i++)

第 2 页 共 3 页

青海大学昆仑学院C语言试卷

if(a[i]<0) sum=sum+a[i]; printf(“%d\n”,sum); }

3.(6分)利用函数编写求两数相乘的函数xc( )。

#include <stdio.h> float xc(float x,float y) { return (x*y);} main( ) {float a,b,c;

scanf(“%f,%f”,&a,&b); c=xc(a,b);

printf(“c=%f\n”,c); }

第 3 页 共 3 页

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

Top