《C语言程序设计》模拟试题3

更新时间:2023-03-11 05:27:01 阅读量: 教育文库 文档下载

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

嘉兴学院成人教育学院

《C语言程序设计》模拟试题3

考试形式:闭卷 考试时间:120分钟

:号 学题号 一 二 三 四 五 六 七 八 九 十 总分 得分 阅卷人 考生注意:答题一律做在答卷的指定位置,否则作无效处理。

题 :一、填空题(每空1分,共20分)

名姓答1.C语言中,在TC环境下,一个char型数据在内存中所占的字节数为 (1) ;一个float型数据

在内存中占的字节数为 (2) 。 2.getchar( )函数只能接收 (3) 字符。

要3.能表示一个整数a既是偶数又是3的倍数的C语言表达式是 (4) 。 4.若a是int型变量,则计算表达式a=25/3%3后,a的值为 (5) 。

5.C语言中,没有逻辑类型变量,在给出逻辑运算结果时,以 (6) 代表“真”。

不6.若x和n是int型变量,且x和n的初值均为5,则计算表达式x=n++后,x的值为 (7) ,n 的值为 (8) 。

7.若a为int类型,且其值为3,则执行完表达式a+=a*2后,a的值是 (9) 。 请 8.当a=5,b=4,c=3时,表达式a>b!=c的值是 (10) 。

:9.已知int x=10, y=20, z=30; 以下语句执行后,x的值是 (11) ,y的值是 (12) ,z的 级内值是 (13) 。 班 if (x>y)

z=x ; x=y ; y=z ;

线10.若i是int型变量,执行语句:for(i=1; i<10; i++); 后,变量i的值是 (14) 。

部11.若有定义:int a[ ]={1,2,3,4,5,6}, * p=a; 则*a的值是 (15) ,*(p+5)的值是 (16) 。 本12.若定义二维数组int a[3][3]={{1,2},{3,4,5},{0}}; 则初始化后,a[1][2]元素的值为 (17) ,a[2][2]

校封元素的值为 (18) 。

13.当调用函数时,实参是一个数组名,则向被调用函数传递的是 (19) 。 :14.#define m(x,y) (x)*(y)

)密点则表达式m(1+2, 3+4)的值是 (20) 。 学

教(二、单项选择题(在每小题的四个备选答案中选出一个正确答案。每小题1分,共20分)

授函1.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++, sum++, ++num后的sum的值为( )。 A) 7 B) 8 C)9 D)10

2.若x、i、j和k 都是int型变量,则计算表达式x=(i=4,j=16,k=22) 后,x的值为( ) 。 A)4 B) 16 C)22 D)42

《错误!未找到引用源。》试题(错误!未找到引用源。) 第 1 页 共 8页

3.判断字符串a和b是否相等,应当使用( )。 A)if (a= =b) B) if (a=b)

C) if (strcpy(a,b)) D) if (strcmp(a,b))

4.能正确表示C语言字符常量的是( ) 。

A)’x42’ B)’A’ C )”A” D)”\\012”

5.以下程序的输出结果是( ) 。 #include main( )

{ int x=12, y=12;

printf(\ %d\\n\}

A)12 12 B)10 12 C)11 12 D)11 13

6. 以下合法的整型常量是( ) 。

A)0111 B)09876 C)20fa D)0x10fg

7.有以下程序段:int m=0,a=8,b=4; m=a

A)0 B)1 C)4 D)8

8.若有a = 4, b = 3, c =1,则下列表达式的值为0的是( ) 。 A)a>b B)(a>b)= =c C)b+cb)

9.若有定义:int a = 7, b=5; float x = 2.3, y = 3.7; ,则表达式 5/10 + a % 3 * 3 / ( x + y)的值是( A)0.750000 B)1.250000 C)1.000000 D)0.500000

10.若有以下类型说明语句: int a;

char ch; float f;

则表达式a - ch + f的结果的类型是( ) 。

A) char B) int C) float D) double

《错误!未找到引用源。》试题(错误!未找到引用源。) 第 2 页 共 8 页

) 。

11.有如下程序

case 'C': k=3; break;

:号学 题 :名姓答 要 不 请 :级内班 线 部本校封 :)密点学教(站授函#include main ( )

{ int n=9;

while(n>6) { n--;

printf(\} }

该程序段的输出结果是( ) 。

A) 987 B) 876 C) 8765 D) 9876 .以下程序的输出结果是( ) 。 #include main ( )

{ int x=2, y= -1, z=2; if (x

if (y<0)z=0; else z+=1; printf (”%d\\n”, z); }

A)3 B)2 C)1 D)0 .有如下程序 #include main ( )

{ int i, sum =0;

for(i=1; i<=3; sum++)

sum+=i;

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

该程序的执行结果是( ) 。

A) 6 B) 3 C) 死循环 D) 0 .以下程序运行后的输出结果是( ) 。

#include main() {

char c; int k; c='B'; switch(c) { case 'A': k=1; case 'B': k=2;

《错误!未找到引用源。》试题(错误!未找到引用源。) 第 3 页 共 8页 default: k=4; }

printf(\}

A) 1 B) 2 C) 3 D) 4

15.以下说法中正确的是( ) 。

A) C语言程序总是从第一个函数开始执行

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

D) C语言程序中的main()函数必须放在程序的开始部分

16.在C语言中,对于局部变量,缺省的存储类别是( ) 。

A)auto B)static C)extern D)无存储类别

17.设有数组定义: char array[ ]=\则数组 array所占的空间为( ) 。 A) 11个字节 B) 10个字节 C)9个字节 D) 8个字节

18.下面不符合C语言语法的表达式是( ) 。

A)int a[5]={0, 0}; B)int a[ ]={0,0,0,0,0}; C)int n=5, a[n]; D)int a[5]={ 0,0,0,0,0};

19.下列程序执行后的输出结果是( ) 。

#include main()

{ char *s=” ABCDE”; s+=2;

printf(”%d\\n”,*s); }

A)65 B)67 C)C D)程序出错

20. 若已定义:int a[9],*p=a;下面表达式中不能表示a[1] 地址的表达式是( ) 。 A) p+1 B) a+1 C) a++ D) ++p

三、程序阅读题(写出程序运行的结果。第1题6分,第2、3题各7分,共20分)

1.请写出下面程序的运行结果。 #include main( )

《错误!未找到引用源。》试题(错误!未找到引用源。) 第 4 页 共 8 页

12

1314

{

int i;

for(i=0;i<3;i++) switch(i) : {

号 case 0:printf(\ 学 case 2:printf(\ default:printf(\ } 题

:2.请写出下面程序的运行结果。 名姓答#include

main()

要 { int i, j, a[2][3]= { { 2,4,6}, {8,10,12}}; printf(“The original array is :\\n”); 不 for (i=0; i<2; i++) { for (j=0; j<3; j++) 请 printf(“=”, a[i][j]); printf(“\\n”); :级内 }

班 printf(“The result is :\\n”); for( j=0; j<3; j++)

线 部 { for( i=0; i<2; i++) 本 printf(“=”, a[i][j]);

校封 printf(“\\n”); :} )密点} 学

教(3.请写出下面程序的运行结果。

站#include

授void swap(int p1,int p2) 函{ int p; p=p1; p1=p2; p2=p; }

《错误!未找到引用源。》试题(错误!未找到引用源。)第 5 页 共 8页

main()

{ int a,b;

scanf(“%d,%d”,&a,&b);

printf(“a=%d,b=%d\\n”,a,b); if(a

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

四、程序填空题(每空2分,共10分)

1.以下程序的功能:输入2个整数a, b,把这2个数由小到大输出。请填写缺少的语句。

main() {

int a, b, t;

scanf(\if ( (1) ) {

t=a;

(2) ; b=t; }

printf(\}

2.下面程序是用冒泡法对10个数进行升序排序,请填写缺少的语句。 main() {

int a[10],i,j,t;

printf(\ for(i=0;i<10;i++) scanf(\ printf(\

for(i=1; (3) ; i++) for(j=0; (4) ;j++) if( (5) ) { t=a[j];

a[j]=a[j+1];

《错误!未找到引用源。》试题(错误!未找到引用源。) 第 6 页 共 8 页

a[j+1]=t; }

学号: printf(\ for(i=0;i<10;i++) printf(\ printf(\} 题 :名姓答 要 不 请 :级内班 线 部本校封 :)密点学教(站授函五、编程题(每题10分,共30分)

1.编写程序,计算表达式1+3+5+7+??前20项之和,并输出结果。

2. 编写程序,输入20个学生的英语成绩,输出低于平均分的成绩。

3. 编写一个函数mypow(x,n),用以求x的n次方,其中,x为实数,n为正整数。主函数中输入实数x与正整数n,调用函数mypow( )计算x的n次方并输出。

#include

float mypow(float x, int n); /* 函数原型的声明 */ main()

{ float x; int n;

printf(\请输入一个实数和一个正整数:\ scanf(\ printf(\

}

《错误!未找到引用源。》试题(错误!未找到引用源。) 第 7 页 共 8页

错误!未找到引用源。》试题(错误!未找到引用源。)第 8 页 共 8 页《

以下为本试卷的标准答案:

一、填空题(每题1分,共20分)

:号1 1 11 20 学2 4 12 30 3 1个或单个 13 30 4 (a%2= =0)&&(a%3= =0) 14 10 5 2 15 1 题6 1 16 6 7 5 17 5 :8 6 18 0 名答9 9 19 地址 姓10 1 20 21 要

不二、单项选择题(每题1分,共20分)

1 2 3 4 5 6 7 8 9 10 请B C D B C A C C D D 11 12 13 14 15 16 17 18 19 20 :B B C C C A D C B C 级内 班

线 三、程序阅读题(第1题6分,第2、3题各7分,共20分)

部本 校封 1 000122 2 The original array is : : 2 4 6 )密点 8 10 12 学 The result is : 教 2 8 ( 4 10 站授 6 12 函 3 a=3,b=5 a=3,b=5

《错误!未找到引用源。》试题(错误!未找到引用源。) 第 1 页 共 2 页

四、程序填空题(每空2分,共10分)

1 a>b 2 a=b 3 i<=9 4 j<=9-i 5 a[j]>a[j+1] 五、编程题(每题10分,共30分)

1、#include main() {

int i,sum=0;

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

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

2、#include main() {

int i;

float ave=0,score[20]; printf(\ 20 numbers:\\n\ for(i=0; i<20; i++)

scanf(\score[i]); for(i=0; i<20; i++) ave+=score[i]; ave/=20;

for(i=0; i<20; i++) if(score[i]

printf(“%.2f “,score[i]); }

3、float mypow(float x, int n) {

int i; float f=1;

for(i=1;i<=n;i++) f*=x; return f; }

《错误!未找到引用源。》试题(错误!未找到引用源。)

第 2 页 共 2 页

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

Top