C语言程序设计复习题 A

更新时间:2023-12-28 23:02:01 阅读量: 教育文库 文档下载

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

昆明理工大学 2015学年第1学期 《C语言程序设计复习题A》

一. 选择题

1.在一个C程序中,下面描述不正确的是( )。

A. main函数是程序执行的出口

C. 一个C程序必须有且仅有一个main函数 B. main函数是程序执行的入口

D.main函数必须出现在所有函数之后

2.若变量均已正确定义并赋值,以下合法的C语言赋值语句是 ( )。

A. x=y==5; B. x=n%2.5; C. x+n=i; D. x=5=4+1; 3.设y为float型变量,执行表达式y=6/5的值为( )。

A. 1.000000 B.1 C.2 D.1.2

4.i为int型变量,且初值是2,有表达式++i-3,则该表达式的值是 ( )。

A. 1.000000 B.1 C.-1 D.0

5.若x,y均为double型变量,正确的输入语句是( )

A)scanf(“%f%f”,&x,&y); B)scanf(“%d%d”,&x,&y) C)scanf(“%lf%lf”, x, y); D)scanf(“%lf%lf”, &x, &y); 6.若x为int型变量,则执行以下语句后的输出为( )

int x = 15, y = 5;

printf(“%d\\n”, x %= (y %= 2)); A)0 B)1 C)6 D)12 7.若有int x ,y;,要输出x,y的值,,正确的输出函数调用是

A)printf(“%d%d”,&x,&y); B)printf(“%f%f”, x, y); C)printf(“%f%d”,x,y); D)printf(“%d%d”, x, y); 8.以下的if语句中,不正确的是( )。 A)if (x==y) x+=y; B)if (x

C)if (x!=y) scanf(“%d”,&x) else scanf(“%d”,&y); D)if (x>y); scanf(“%d”,&x) else scanf(“%d”,&y);

9. C语言对嵌套if语句的规定是:else 总是与( d )配对。 A)其之前最近的if B)第一个if C)缩进位置相同的if D)其之前最近且不带else的if 10. 有以下程序,输出结果是( )。

#include void main( ) { int a=0,b=0,c=0,d=0;

第 1 页 共 7 页

if (a=1) b=1; c=2; else d=3;

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

}

A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错 11. 设有程序段:int k=10; while(k==0) k=k-1;,则下面描述中正确的是( )。

A)while 循环执行10次 B)循环是无限循环 C)循环语句一次也不执行 D)循环语句执行一次 12.按语言的规定,以下不正确的说法是( )。

A)实参可以是常量、变量或者表达式 B)形参可以是常量、变量或者表达式 C)实参可以为任意类型

D)形参应与其对应的实参类型一致

13.有x,y需要传递,以下正确的函数定义形式是( )。

A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,y) D)double fun(int x;)

14.以下对一维数组a中的所有元素进行正确初始化的是( )。 A)int a[10]=(0,0,0,0); B)int a[10]={}; C)int a[]=(0,2); D)int a[10]={10*2};

15.若有说明:int a[20];,则对a数组元素的正确引用是( )。 A)a[20] B)a[3.5] C)a(5) D)a[10-10] 16.设有以下程序:

main()

{ int a=0,b=0 ; a=10 ; b=20 ;

printf(’’a+b=%d’’,a+b) ; }

程序运行后输出的结果是( )。

A)a+b=1 B)30 C)a+b=30 D)1 17.变量的指针,其含义是指该变量的( )。

A、值 B、地址 C、名 D、一个标志

18.能正确表示当x的取值在 [60,70]范围内为真,否则为假”的表达

式是( )。

A、( x < = 70 ) && ( x >=60 ) B、60

C、( x < = 70 ) || ( x >60 ) D、( x < = 70 ) || ( x >=60 )

19.若有以下定义,则不能表示a数组元素的表达式是____。

int a[10] ={1,2,3,4,5,6,7,8,9,10},*p=a;

A、*p B、 a[10] C、*a D、 *(p+5)

第 2 页 共 7 页

20.以下不正确的叙述是( )。

A、使用static float a 定义的外部变量存放在内存的静态存储区 B、使用float b 定义的外部变量存放在内存的动态存储区

C、使用static float c 定义的内部变量存放在内存的静态存储区 D、使用float d 定义的内部变量存放在内存的动态存储区

21.若用数组名作为函数调用的实参,传递给形参的是( )。 A、数组的首地址 B、数组第一个元素的值 C、数组中全部元素的值 D、数组元素的个数

22.若有字符串a和字符串b,进行字符串比较的语句是( )。 A、strcpy ( a, b ); B、strcmp (a , b); C、strcat ( a , b ); D、strupr (b);

23.C语言规定,简单变量做实参时,简单变量和对应形参之间的数据传

递方式是( )。 A、地址传递 B、值传递 C、由实参传给形参,再由形参传回给实参 D、用户自行指定

24.设有程序段: int k=10;while(k==0)k=k-1;则下面描述中正确的是

( )。

A.while 循环执行10次 B.循环是无限循环

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

25.以下程序的功能是按顺序读入10名学生4门课程的成绩,计算出每

位学生的平均分并输出,程序运行的结果不正确,调试中发现有一条语句出现在程序中的位置不正确,这条语句是( ) #include

int main() { int n,k;

float score,sum,ave; sum=0.0;

for (n=1;n<=10;n++) {

for (k=1;k<=4;k++) {

scanf(\ sum+=score; } ave=sum/4.0;

第 3 页 共 7 页

printf(\ }

return 0;

}

A. return 0; B.printf(\ C.sum=0.0; D.ave=sum/4.0;

二.填空题

1.以下程序运行后的输出结果是 ① 。

void main( ) { int a=1, b=2, c=3;

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

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

2.完成以下程序,a,b,c为输入的三角形的3条边。

void main( ) { double a,b,c;

scanf (“%lf %lf %lf”, &a, &b, &c);

if ( ② ) printf (“YES\\n”); //a、b、c能构成三角形 else printf (“NO\\n”); //a、b、c不能构成三角形

}

3.运行两次以下程序,分别写出结果。

#include void main( ) { int x;

scanf (“%d”,&x); if (x++>5)

printf (“%d”,x); else

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

输入6时,结果是: ③ ;输入4时,结果是: ④ 。

4.“*”称为 ⑤ 运算符,“&”称为 ⑥ 运算符。 5. 若定义int a[10],若要再定义一个指向数组a的首地址的指针p的语句是 ⑦ 。

6. 设int a[10]; *p=a; 则对a[3]的引用可以是p[3](下标法)和 ⑧ (地址法)。

7. 分析如下程序执行过程,写出执行结果( )

第 4 页 共 7 页

#include void main ( )

{ char ch1=’a’,ch2=’A’;

if (ch1

8.分析如下程序执行过程,写出执行结果( ) #include main ( )

{ int x=1,y=0; switch (x)

{ case 1: switch(y)

{ case 0: printf(“Title 1\\n”); break; case 1: printf(“Title 2\\n”); break; }

case 2: printf(“Title 3\\n”); } }

9.分析如下程序执行过程,写出执行结果 #include int fun(int a,int b) { int c;

c=a*b; return c;

}

void main() {

int x=5,z; z=fun(x+7,x); printf(\}

10.分析如下程序执行过程,写出执行结果 #include \ void main ()

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

for(i=9 ; i>=0 ; i--) a[i]=a[i-1]; a[0]=temp;

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

第 5 页 共 7 页

printf(\

}

11.分析如下程序执行过程,写出执行结果 #include \ void main( ) { int a, b; int *p,*q,*r;

p=&a;q=&b;a=9; b=5*(*p%5); r=p;p=q;q=r;

printf(\ }

三. 编程题

1、从键盘输入一个华氏温度,要求转化为摄氏温度,保留2位小数。计算公式为:C=5/9(F-32),C表示摄氏温度,F表示华氏温度。

2、定义一个大小为10的整型一维数组,任意输入10个数,求10个数的平均值,找出10个数中的最大最小数。 3、定义二维数组 int a[4][4],用初始化方式给二维数组赋值,用自定义函数计算出左下角所有元素之和。

int a[4][4]={1,2,3,4,5,6,7,8,9,10,16,15,14,13,12,11}; 4、用循环编程输出如图所示的棱形(10分)

* *** ***** ******* ***** *** *

第 6 页 共 7 页

答 题 卡

一.选择题 (1) (2) (3) (4)

二.填空题 (1) (2) (3) (4) 三.编程题

1、

(5) (6) (7) (8) (9) (10) (11) (12) (5) (6) (7) (8) 第 7 页 共 7 页

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

Top