C语言复习题(考研版)

点赞(0) 反对(0) 本站小编 福瑞考研网 2017-01-09 22:14:57 阅读(0)

C语言复习题(考研版)

整理完毕:南京师范大学,教育技术学, 2005年北京航空航天,软件学院, 2012年湖南大学,计算机软件与理论, 2005
未完成
南京师范大学,教育技术学, 2006年已到 11页北京大学,已到第 16题
概述
1.(北京航空航天,软件学院, 2012年)在 C语言中,头文件的作用是什么 ?
答:(1)通过头文件调用库功能。在很多场合,源代码不便(或不准)向用户公布,只向用
户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,不不
必关心接口是怎么实现的。

(2)头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的
声明不一致,编译器会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。

2.
(北京航空航天,软件学院, 2012年)在 C语言中, #include “filename.h”和 #include
<filename.h>的区别是什么 ?
答: #include “filename.h”表明该文件是用户提供的头文件,只从当前文件目录中查找;
#include <filename.h>表明该文件是一个工程或标准头文件,不仅从当前文件目录中查找,
而且在预定义的目录中查找。


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




标识符
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) Ach='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)
A4 B4.5 C5 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<b B x>=a&x<b C x>=a&&x<b D、a<=x&&<b
10.
(南京师范大学,教育技术学,2005年)已知 c是字符型变量,下面不正确的赋值语
句是( C)
Ac=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)
Ascanf(“%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++);
A12,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) A3B4 C5 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++;

} } A1 B10 C6 D死循环,不能确定次数
一维数组
1.
(南京师范大学,教育技术学,2005年)编写一个完整的 C语言程序,它能够将键盘输入的 10进制数以 16进制格式输出。

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


void main()
{
int a[10],max,min,i;
float avg;
for(i=0;i<10;i++)

scanf("%d",(1) );
avg=max=min=a[0];
for(i=1;i<10;i++)
{

if (max<a[i])
(2) ;
elseif ((3) )
min=a[i];
avg+=a[i];

} avg=avg-((4) );
avg=avg/8.0;
printf("average=%f\n",avg);
}

(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()


{
charch[3][4]={"123","456","78"},*p[3];
int i;
for(i=0;i<3;i++)

p[i]=ch[i]; for(i=0;i<3;i++) printf("%s",p[i]); } A123456780 B123456780 C12345678 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) A3 B4C5D6

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


main() {int a[10];
………
Fun(a); }为使得函数 fun可以用数组名作参数,定义函数 fun时,其首部可用如下两种不同的形式: fun(int *a)、 fun(int a[])
变量
1.
(湖南大学,计算机软件与理论, 2005)全局变量的存储类型可以定义为( A)(确认答案,实验证明: autostatic extern都可以) Aauto或 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(inta,char *c[]) B. main(intarc,char **arv)
C. main(intargc,char *argv) D. main(intargv,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;则不能

发表评论 已经有0条评论 查看全部评论

关键字

相关信息