C语言复习题(考研版)

更新时间:2024-03-25 01:31:01 阅读量: 综合文库 文档下载

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

C语言复习题(考研版)

整理完毕:

南京师范大学,教育技术学,2005年 北京航空航天,软件学院,2012年 湖南大学 ,计算机软件与理论,2005 未完成

南京师范大学,教育技术学,2006年已到11页 北京大学,已到 第16题

概述

1.(北京航空航天,软件学院,2012年)在C语言中,头文件的作用是什么?

答:(1)通过头文件调用库功能。在很多场合,源代码不便(或不准)向用户公布,只向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,不不必关心接口是怎么实现的。

(2)头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。 2.(北京航空航天,软件学院,2012年)在C语言中,#include “filename.h”和#include 的区别是什么?

答:#include “filename.h”表明该文件是用户提供的头文件,只从当前文件目录中查找;#include 表明该文件是一个工程或标准头文件,不仅从当前文件目录中查找,而且在预定义的目录中查找。

3.(北京大学,?年)在C语言中, char型数据在内存中的存储形式是 ( a)。 A 补码 B 反码 C 原码 D ASCII码

标识符

1.(北京航空航天,软件学院,2012年)在C语言中,标识符只能由字母、数字和下划线三种字符组成,并且第一个字符 ( C )。

A.必须是字母 B.必须是下划线

C.必须是字母或者下划线 D.可以是字母、数字和下划线之一

数据类型与表达式

1.(南京师范大学,教育技术学,2006年)C语言中,宏定义#define PI 3.14159中,用宏名PI代替了一个( C )

A 单精度数 B 双精度数 C 常量 D 字符序列 2.(北京大学,?年)C语言中最简单的数据类型包括( B )。 A 整型 实型 逻辑型 B 整型 实型 字符型

C 整型 字符型 逻辑型 D 整型 实型 逻辑型 字符型 3.已知ch是字符型变量,下面不正确的赋值语句是( A ) A ch='a+b'; B ch='\\0'; C ch='7'+'9'; D ch=5+9;

4.(湖南大学 ,计算机软件与理论,2005)如果要把常量327存入变量a中,a不能定义的类型是哪一个?( B )

A int B char C long D float

5.(南京师范大学,教育技术学,2006年)C语言中,运算对象必须是整型的运算符是( D )

A / B = C >= D %=

6.(南京师范大学,教育技术学,2005年)设int a=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是( C )

A 1,5,7 B 1,6,7 C 1,5,6 D 0,5,7

7.(湖南大学 ,计算机软件与理论,2005)设有变量说明:float x=3.5;则执行表达式:x++;后,x的值为多少?( B )

A 4 B 4.5 C 5 D 不可预料

8.(北京航空航天,软件学院,2012年)若整型变量x的初值为6,则计算表达式“x+=x-=x*x”

之后,x的值是( D )。

A.50 B.60 C.-50 D.-60

9.(南京师范大学,教育技术学,2005年)使用C语言描述关系表达式a≤x<b,正确的描述是( C )

A a<=x=a&x=a&&x

10.(南京师范大学,教育技术学,2005年)已知c是字符型变量,下面不正确的赋值语句是( C )

A c=2+3; B c=’2+3’ C c=’\\2’+3; D c=’2’+’3’;

条件表达式

1.(南京师范大学,教育技术学,2006年)与语句if(x>y) m=y; else m=x; 等效的表达式语句是: x>y?m=y:m=x

输入输出

1.(湖南大学 ,计算机软件与理论,2005)若定义float a; 现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用( B )

A scanf(“%f”,&a); B scanf(“%5.2f”,&a); C scanf(“%6.2f”,&a); D scanf(“%f”,a); 2.(湖南大学 ,计算机软件与理论,2005)已知整型变量k和g,则下列程序段输出结果为( D )。 int k,g; k=011;g=11;

printf(“%d,%x\\n”,++k,g++);

A 12,B B 10,3 C 12,3 D 10,B

循环结构

1.(北京航空航天,软件学院,2012年)下列4个程序段中,不是无限循环的是( A ) 。

A.for(b=0,a=1; a>++b; a=k++) k=a; B.for( a++=k) C.while(1) { a++; } D.for(k=10; k--) total+=k;

2.(湖南大学 ,计算机软件与理论,2005)执行语句:for(i=1;i++<4; );后:变量i的值是( C )

A 3 B 4 C 5 D 不定

3.(湖南大学 ,计算机软件与理论,2005)当执行以下程序段时( A )。

x=-1; do {

x=x*x;

}while(!x);

A 循环体执行一次 B 循环体将执行两次 C 循环体将执行无限次 D系统将提示有语法错误

4.(北京航空航天,软件学院,2012年)设n>0。下列函数的功能是 统计正整数n的位数 。 int fun(int n) { int count=0;

while(n){ count++; n=n/10; } return count; }

5.(湖南大学,计算机软件与理论,2005)把50元钱分成一元、二元和五元的纸币且纸币数共为20张的分法有多少种?(注:在兑换中一元、二元和五元的纸币数可以为0)

break与continue

1.(湖南大学 ,计算机软件与理论,2005)以下程序中,while循环的循环次数是( D ) main() { int i=0; while(i<10)

{ if (i<1) continue; if (i==5) break; i++; } }

A 1 B 10 C 6 D死循环,不能确定次数

一维数组

1.(南京师范大学,教育技术学,2005年)编写一个完整的C语言程序,它能够将键盘输入的10进制数以16进制格式输出。

2.(湖南大学 ,计算机软件与理论,2005)下面程序从键盘输入10个整数,去掉一个最大数和一个最小数,然后求剩下的8个数的平均值。 #include void main() { }

avg=avg-( (4) ); int a[10],max,min,i; float avg; for(i=0;i<10;i++)

scanf(\ (1) );

avg=max=min=a[0]; for(i=1;i<10;i++) {

if (max

(2) ;

else if ( (3) )

min=a[i];

avg+=a[i];

}

avg=avg/8.0;

printf(\

(1)&a[i] (2)max=a[i] (3)min>a[i] (4)max+min

3.(北京航空航天,软件学院,2012年)请编写一C语言程序,该程序的功能是确定字符串中首次出现的某字符在串中的位置(即该字符是字符串中的第几个字符),然后从字符串中删除该字符。要求:

(1) 如果未找到该字符,程序给出相应信息,否则,输出该字符在字符串中首次出现的位置,删除该字符(注:不考虑非首次出现的该字符的删除),并且显示删除前后的字符串。 (2) 通过键盘输入字符串以及被确定的字符。

二维数组

1.(南京师范大学,教育技术学,2005年)以下不能正确定义二维数组的选项是( B A、int a[2][2]={{1},{2}}; B、int a[2][]={{1,2},{3,4}}; C、int a[2][2]={{1},2,3}; D、int a[][2]={1,2,3,4};

2.(湖南大学 ,计算机软件与理论,2005)以下程序的输出结果是( C ) void main() { char ch[3][4]={\ int i;

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

p[i]=ch[i];

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

printf(\

}

A 123456780 B 123 456 780 C 12345678 D 147

) 函数

1.(北京航空航天,软件学院,2012年)在C程序中,语句“char *func(int x,int y);”表示( D ) 。

A.对函数func的定义 B.对函数func的调用 C.对函数func返回值类型的说明 D.对函数func的原型说明

2.(南京师范大学,教育技术学,2006年)若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b));在此函数调用语句中实际参数个数是( A ) A 3 B 4 C 5 D 6

3.(南京师范大学,教育技术学,2006年)若函数fun的类型void,且有如下定义和调用语句:

main() {int a[10]; ??? Fun(a); }

为使得函数 fun 可以用数组名作参数,定义函数 fun 时,其首部可用如下两种不同的形式: fun(int *a) 、 fun(int a[])

变量

1.(湖南大学 ,计算机软件与理论,2005)全局变量的存储类型可以定义为( A )(确认答案,实验证明:auto static extern都可以)

A auto或static B extern或register C auto或extern D extern或static

2.(北京大学)以下只有在使用时才为该类型变量分配内存的存储类说明是 ( B )。 A auto和static B auto和register C register和static D extern和register

3.(北京航空航天,软件学院,2012年)在C语言中,全局变量和局部变量的主要区别是什么?

答(1)定义位置不同:全局变量定义在所有函数之外;局部变量定义在函数体中;(自加) (2)生命期不同:全局变量随着主程序创建而创建,随着主程序销毁而释放;局部变量是

在函数内部,程序执行到其作用域时创建,退出其作用域时释放。

(3)作用域不同:全局变量具有文件作用域,在程序中的每个函数中都可以引用;局部变量具有块作用域,只是在其作用域内才能引用;

(4)分配位置不同:全局变量被分配在全局\\静态存储区,而局部变量分配在栈区;(自加)

main函数

1.(南京师范大学,教育技术学,2006年)C语言中,不合法的main函数命令行参数表示形式是: ( C )

A .main(int a,char *c[]) B. main(int arc,char **arv) C. main(int argc,char *argv) D. main(int argv,char *argc[])

2.(北京航空航天,软件学院,2012年)对于下列main函数,经过编译、连接后得到的可执行文件名为file.exe,并且已知在系统的命令状态下输入命令行“file Beijing Shanghai<回车>”后得到的输出结果是 Beijing Shanghai 请在函数的空白处填入合适的内容,使函数完整。

main(int argc,char *argv[ ]) {

while( (1) )

{ ++argv; printf(“%s\\n”, (2) ); --argc; } }

答:(1) argv>1 (2)*argv

指针

1.(南京师范大学,教育技术学,2005年)若有变量定义:int *p,m=2,n; 以下正确的程序段是( D )

A、p=&n; scanf(“%d”,&p); B、p=&n; scanf(“%d”,*p); C、scanf(“%d”,&n);*p=n; D、p=&n;*p=m;

2.(湖南大学 ,计算机软件与理论,2005)已知:char s[20]=”programming”,*ps=s;则不能

引用字母o的表达式是( A )

A ps+2 B s[2] C ps[2] D ps+=2, *ps

3.(南京师范大学,教育技术学,2005年)如下程序的的运行结果是( D ) main() {

char a[]=”programming”,b[]=”language”; char *p1=a,*p2=b; int i;

for(i=0;i<7;i++) if(*(p1+i)==*(p2+i)) printf(“%c”,*(p1+i)); }

A、gm B、rg C、or D、ga

4.(南京师范大学,教育技术学,2005年)设有以下语句,则( A )不是对a数组元素的正确引用

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

A *(*(a+i)) B *(&a[i]) C p[i] D a[p-a]

5.(南京师范大学,教育技术学,2006年)C语言中,以下程序输出结果是: ( B ) char a[10]={'9','8','7','6','5','4','3','2','1',0},*p; int i=7;p=a+i; printf(\

A. 4 B. 4321 C.54321 D,43210

6.(南京师范大学,教育技术学,2006年)C语言中,对于基类型相同的两个指针变量,不能进行的运算是: ( C ) A. < B. = C. + D. –

7.(南京师范大学,教育技术学,2006年)C语言中,说明语句int *f();标识符f 代表的是: ( D )

A.一个用于指向整型数据的指针变量 B.一个用于指向一维数组的行指针 C.一个用于指向函数的指针变量 D.一返回值为指针型的函数名

8.(湖南大学 ,计算机软件与理论,2005)说明语句v“int (*p)();”的含义是( C) A p是一个指向一维数组的指针变量 B p是指针变量,指向一个整型数据

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

Top