C语言复习题

合集下载

C语言复习60题

C语言复习60题

01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。

02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。

04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。

B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。

D、__int。

09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。

C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。

12写出下式的运算结果:10/3*3、0正确答案是:9、0。

浙江大学C语言总复习题--综合

浙江大学C语言总复习题--综合

综合练习一、判断题1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。

2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。

3.在程序的运行过程中,整型常量的值是可以改变的。

4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。

5.大括弧 { } 只能用来括复合语句。

6. do_while语句构成的循环不能用其它循环语句来代替。

7.不能用scanf 函数输入字符。

8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。

9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。

10.C 语言的一个编译预处理命令用 # 开始,最后加分号。

11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。

12. C语言中以 %o开头的数是八进制整数。

13.在程序的运行过程中,符号常量的值是可以改变的。

14.在 C 程序中,APH 和 aph 代表不同的变量。

15.一个复合语句在语法上被认为是一条语句。

16. 只能用while语句构成循环。

17.不能用printf函数输出字符。

18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。

19. 在函数外部定义的变量称为全局变量。

20.宏定义的命令行可以看作是一条C 语句。

21. C语言源程序是可以用来直接运行的程序。

22. C语言中以 %x 开头的数是十六进制整数。

23. C程序中定义的变量,代表内存中的一个存储单元。

24.在 C 程序中,9ab是非法的用户标识符。

25. C语句必须用一个分号作为结束。

26. do_while语句构成的循环不能用break语句退出。

27. scanf 函数是 c 语言的标准输入函数。

28. C程序的main函数不能有参数。

29. 在函数内部定义的变量称为局部变量。

30.用#include包含的头文件的后缀必须是.h。

31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。

C语言复习题(考研版)

C语言复习题(考研版)

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 原码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 )。

c语言复习题

c语言复习题

c语言复习题一、单项选择题1.以下叙述中错误的是? A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识2、c语言数据的基本类型包括()A、整型、字符型、实型B、整型、字符型、实型、枚举类型C、整型、实型、枚举类型、指针类型 D、整型、字符型、实型、数组类型3.以下不合法的字符常量是A.’\019’B.’\’’’C.’\\’D.’\xcc’4、c语言允许使用的变量标识符是()A、x#yB、12shC、j_c_tD、char5.设有以下语句。

int a=1,b=2,c;c=a^(b<<2);执行后,c的值为 A.6 B.7 C.8 D.96、c语言中合法的字符常量是()A、‘\084’B、‘\X43’C、‘ab’D、“\0”7.下列标识符中,合法的变量名有? A.a.b B.$888 C.A1 D.3x568、若定义x和y为double型,则表达式:x=1,y=x*3/2的值是()A、1B、2C、 2.0D、1.59、若有以下类型说明语句:char w;int x;float y;double z;则表达式 w*x+z-y的结果为()类型A、floatB、char C 、int D、double10、下列表达式中,()可以正确表示x<=0或x>=1的关系A、(x>1)or (x<=0)B、x>1 || x<=0C、x>1 or x<=0D、x>=1 || x<=011.下列不正确的表达式是A.10%3+5%3B.10/3+5/3C.10%3/2D.(10.0/3.0%3)/212.以下四个选项中,不能看作一条语句的是A.{;}B.a=0,b=0,c=0;C.a>0;D.m=1;n=2;13.设x为int 型变量,则执行以下语句后,x的值为x=10;x+=x-=x-x;A.10B.20C.40D.3014、若定义a为整型数据变量则a=-2 L;printf(“%d\n”,a);以上语句结果为()A、赋值语句不合法B、输出值为-2C、输出值为不确定值D、输出值为215、现已定义整型变量int i=1;执行循环语句“while(i++<5)后i的值变为()A、1B、5C、6D、以上三个答案均不正确16、若执行下述程序时,从键盘输入数据3和4,则程序的输出结果是()main(){ int a ,b ,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)< p="">s=b;s=s*s ;printf(“%d”,s);}A、14 B、16 C、18 D、2017、若数组名作为函数参数传递给函数,作为实参的数组名被处理为()A、该数组的长度 B、该数组的元素个数C、该数组中各元素的值 D、该数组的首地址18、c语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A、float型B、int型C、long型D、double型19、在c语言中,存储类型为()的变量只在使用它们的时候才占用存储空间A、static和autoB、register和autoC、static和registerD、register和extern20、下面程序片段的输出结果是()char str[]=“abcd”,*p=str;printf(“%d\n”,*(p+4));A、68 B、0 C、字符‘d’的地址D、不确定的值21、设有以下说明,已知int类型占2个字节,则下列叙述正确的是()struct st{int a;int b[2];} a;A、结构变量名a和结构成员a同名,不合法B、程序运行时将为结构体st分配6个字节的内存单元C、程序运行时不为结构体st分配内存单元D、程序运行时将为结构体变量a分配6个字节的内存单元22、求字符串长度的函数是()A、strcat B、strcpy C、strcmpD、strlen 23.现已定义整型变量 int i=1;执行循环语句“while(i++<5);”后,i的值为A.1B.5C.6D.以上三个答案均不正确24.以下叙述中错误的是A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句25.设有定义:int a=2,b=3,c=4;时,以下选项中值为0的表达式是A.(!a= =1)&& (!b= =0)B.aC. a&&bD.a||(b+b)&&(c-a)26.C语言中,定义PI为一个符号常量,正确的是A.#define PI 3.14B.define PI 3.14C.#include PI 3.14D.include PI 3.1427.下面关于switch语句和break语句的结论中,只有是正确的A.break语句是switch语句中的一部分B.在swtich语句中可以根据需要使用或不使用break语句C.在swtich语句中必须使用break语句D.以上三个结论中有两个是正确的28.有以下程序:main(){int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是 A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和D.自然数1~10的偶数之和29.在C语言函数的定义和引用中,以下描述正确的是A.必须有形式参数B.也可以没有形式参数 C.数组名不能作为形式参数 D.形式参数必须是变量名30.下列关于return语句的说法,正确的是A.必须在每个函数中都出现B.只能在除主函数之外的函数中出现一次C.可以在同一个函数中多次出现D.在主函数和其他函数中都可以出现31.下列说法不正确的是A.形式参数是局部变量B.主函数main 中定义的变量在整个文件或程序中都又效C.在一个函数的内部,可以在复合语句中定义变量D.不同的函数中,可以使用相同名字的变量32.以下叙述正确的是A.do-while语句构成的循环不能用其它语句构成的循环来代替B.do-while语句构成的循环只能用break语句退出C.用do-while语句构成的循环,在while后的表达式为非零时结束循环D.用do-while语句构成的循环,在while后的表达式为零时结束循环33.下列数组定义语句正确的是A.int a[][]={1,2,3,4,5,6};B.char a[2][3]=’a’,’b’C.int a[][3]={1,2,3,4,5,6};D.static int a[][]={{1,2,3},{4,5,6}}; 34.若定义int a[3][4];则下列选项不能表示数组元素a[1][1]地址的是A.a[1]+1B.&a[1][1]C.*(a+1)[1]D.*(a+5)35.已知int 和double类型分别占2个和8个字节,若有如下定义:Struct data{ int i;char ch;double f;}b;则结构变量b占用内存的字节数是 A.7 B.2 C.8 D.1136.对于以下递归函数f,调用f(4),其返回值为int f(int n){ return f(n-1)+n;}A.10 B.11 C.0 D.以上均不是37.有以下程序:main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf(“%d\n”,*p+*q);}程序运行后的输出结果是 A.16 B.10 C.8 D.638.C语言中操作文件的正确顺序是A.读写,关闭,打开B.打开,读写,关闭C.打开,关闭,读写D.读写,打开,关闭39.定义union s{int w,x,y,z;char c[6];};,请问执行sizeof(union s)=A.2B.6C.8D.1440.说明语句int *f();中的标识符f代表A.一个用于指向整型数据的指针变量B.一个用于指向一维数组的行指针C.一个用于指向函数的指针变量D.一个返回值为指针型的函数名二、填空题1.设有程序段:int k=10;while(k=0) k=k-1;则循环体语句执行次。

C语言单元复习题 第06部份 循环

C语言单元复习题  第06部份 循环
B.只有do...while语句构成的循环能用break语句退出
C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
(知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
(知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
A.break语句和continue语句都只能用于循环结构
B.break语句和continue语句都只能用于switch结构
C.break语句用于跳出循环体,continue语句用于跳出当次循环
D.continue语句用于跳出循环体,break语句用于跳出当次循环
(知识点:continue语句; 难度系数:1; 答案:C )
A.x==0B.x==1C.x!=lD.x!=0
(知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0B.1C.真D.非0
(知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;

C语言复习题

C语言复习题

C语言复习题1.表达式 1 / 2 *3 *4 的值为( a ) (选一项)A. 0B. 1C. 2D. 62. C语言中,运算对象必须是整型的运算符是( d ) (选一项)A. +B. -C. *D. %3.以下程序运行结果是( a ) (选一项)int a =10 ;if(a == 10){ printf(“1”) ; }else{ printf(“2”); }A. 1B. 2C. 1 1D. 1 24.关于switch语句,以下说法正确的是( ) (选一项)A. 表达式可以是任何数据类型B. 表达式只能是整形或字符类型C. case后面的值可以重复D. case语句可以省略5.以下程序运行结果是( b ) (选一项)int a = 0 ;switch ( a){case 0 : printf(“%d ” , a );case 1 : printf(“%d ” , a ++);case 2 : printf(“%d ” , ++a );case 3 : printf(“%d ” , a ++);case 4 : printf(“%d ” , a );}A. 01234B. 00223C. 0D. 001336.以下程序运行结果是( c ) (选一项)int i= 10 ;while ( i <= 15 ){printf(“%d\n”,i );i++;}A. 10 11 12 13 14 15 16B. 11 12 13 14 15 16C. 10 11 12 13 14 15D. 程序错误,不会执行7.以下程序运行结果是( ) (选一项)int i = 1;while( i=2 ){printf(“%d\n”,i );i++;}printf(“hello”);A. helloB. 是死循环C. 1 2D. 程序报错8.以下程序运行结果是( ) (选一项)int n =4;while ( n--){printf(“%d”,--n);}A. 2 0B. 3 1C. 3 2 1D. 2 1 09.对于for 循环,请选择正确的执行顺序( ) (选一项)for( 1 ; 2 ; 3 ){4}A. 1-2-3-4-3-2-......B. 1-2-3-4-3-2-4......C. 1-2-4-3-2-4-......D. 1-2-4-3-2-1-4......10.以下程序运行后sum的值是( ) (选一项)int i, sum;for( i=1; i<6; i++)sum+=i;printf(“%d\n”,sum);A. 15B. 14C. 不确定D. 011.以下正确的C语言自定义标识符是( ) (选一项)A. _1aB. 2a_C. doD. a.1212.设int a, x=2; 执行语句a=x>0?3*x:x=10;后,变量x的值是( ) (选一项)A. 1B. 2C. 6D. 1013.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是( )。

C语言理论复习题

判断题 第 3 页
序号
题目
正 确 A B 答 案
51 52 53 54 55 56 57 58 59 60 61
使用strlen函数可以求出一个字符串的实际长度 对错 B (包含‘\0’字符)。 如有定义char a[]="student";则数组a的长度为7 对错 B 如有定义char a[20];则可以通过a=“I am a 对错 B boy”;给a赋值。 如有定义int a[2][3];则数组a的最后一个元素为 对错 A a[1][2]。 如有定义int a[3][4]={0}; 则数组a的所有元 对错 A 素初值均为0 C语言中数组名实质上是数组的首地址,是一个变 对错 B 量地址,可对其进行赋值 对错 B 构成数组的各个元素可以有不同的数据类型。 若有说明:int a[10];,则可以用a[10]引用数组a 对错 B 的第10个元素。 函数的形参为一个数组,则调用此函数时将数组名 对错 A 作为对应的实参。 do...while的循环体可能一次也不会执行。 对错 B
char *p[10];定义了一个指向字符数组的指针 对错 B 变量。 数组名实际上是此数组的首地址,所以数组名相当 62 对错 B 于一个指针变量。 do...while语句与while语句的区别仅仅是关键字 63 对错 B while的位置不同。 64 使用文件前必须先打开文件 对错 A
判断题 第 4 页
判断题
第 8 页
判断题
第 9 页
判断题
第 10 页
判断题
第 11 页
判断题
第 12 页
判断题
第 13 页
判断题
第 14 页
判断题
第 15 页
判断题
第 16 页

(完整版)C语言各章节复习题(带答案)

一、C语言概述练习题选择1.一个C程序的执行是从。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。

A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。

A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。

A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。

C语言模拟复习题及答案

一、选择题1. 以下叙述错误的是 A 。

A.C程序在书写时,有严格的缩进要求,否则不能编译通过B.一个C程序只能有一个主函数C.一个C程序可以包含多个不同名的函数D.C程序的主函数必须用main作为函数名2. 下列程序段的输出结果是 4 3 2 1 。

void fun(int *x, int *y){ printf("%d %d ", *x, *y); *x=1; *y=2;}main(){ int x=3,y=4;fun(&y,&x);printf("%d %d",x, y); }3. 若有定义语句:int x=3,y=2,z;在其后执行语句z=0.9+x/y;则z 的值为 1 。

4. 有以下程序#include <stdio.h>main(){ int a;scanf("%d",&a);if(a++<8) printf("%d\n",a);else printf("%d\n",a--); }程序运行时键盘输入8<回车>,则输出的结果是9 。

5. 以下定义整型3行4列的二维数组a并初始化不正确的是C 。

A.int a[3][4]={0} B.int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12}C.int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12} D.int a[3][4]={{1,2},{1,2,3},{1,2,3,4}}6. 有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=k;case 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c); }程序运行后的输出结果是 3 。

C语言程序设计复习题(选择题)新

C语言程序设计复习题(选择题)新第1页共12页第二部分选择题1.假设整型变量a为2,使b的值为0的表达式是()。

a) b=a/2b)b=6-(-a)c)b=a%2d)b=a>3?0:1提示:正确答案是C2.假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为()。

a)2.5b)2.75c)3d)9.5提示正确答案为a3.假设a=3,B=4,C=5,逻辑表达式:!(a+b)+C-1&&b+C/2的值为()。

a)TrueB)false sec)0d)1提示:正确答案是D4假设所有变量都是整数,表达式的值:(a=2,B=5,B++,a+B)是()。

a)提示正确答案是B5.设整型变量x的值为5,y的值为2,则值为1的表达式是()。

a) !!(y==x/2)b)y!=x%3c)x>0&&y<0d)x!=y | | x>=y6。

给定a=12,表达式a+=a-=a*=a的值为()。

a)144b)-12c)0d)24提示正确答案为c6.在下面c语言的函数说明语句中,正确的是()。

a)intfun(intx,inty);b)intfun(intx,y);c)intfun(x,y);d) intfun(intx;inty);提示:正确答案是a7.设有整型变量a,实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为()。

a) Intb)float C)double)无法确认提示。

正确答案为C8(如果有),intk=5;floatx=1.2;表达式(int)(x+k)的值为()。

a)提示正确答案是D9表达式k=(12<10)?4:1? 2:3的值为()。

a)1b)2c)3d)4提示正确答案为b10.下列哪组运算符的优先级相同且运算次序从左到右()。

a)()[]->.b)++--+=c)提示正确答案是a11.已知:intx=1,y=2,z=0;则执行:z=x>y?10:20,z的值为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题 1.下列叙述中正确的是 ( C)。 A) C语言编译时不检查语法 B) C语言的子程序有过程和函数两种 C) C语言的函数可以嵌套调用 D) C语言所有函数都是外部函数 2.以下所列的C语言常量中,错误的是(B )。 A) 0xFF B) 1.2e0.5 C) 2L D) '\72' 3.下列选项中,合法的C语言关键字是( D )。 A) VAR B) cher C) integer D) default 4.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 ( A )。 A) -3 B) 9 C) -12 D) 6 5.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为 ( C )。 A) 不定值 B) 4 C) 3 D) 1 6.若变量c为char类型,能正确判断出c为小写字母的表达式是 ( D )。 A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z') C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z') 7. 若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是: ( B )。 A) 10 22 33 B) 10.0,22.0,33.0 C) 10.0 22.0 33.0 D) 10 22 33 8. 有以下程序: main() { int a,b,d=25; a=d/10%9;b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是 ( B )。 A)6,1 B)2,1 C)6,0 D)2,0 9. 若执行以下程序时从键盘上输入9,则输出结果是 ( B )。 void main() {int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); } A) 11 B) 10 C) 9 D) 8 10. 以下函数调用语句中含有( A )个实参。 func((e1+e2),(e3+e4+e5)); A) 2 B) 3 C) 5 D) 语法错误 11.设i和k都是int类型,则for循环语句( D )。 for(i=0,k=-1;k=1;i++,k++) printf("****\n"); A) 循环结束的条件不合法 B) 循环体一次也不执行 C) 循环体只执行一次 D) 是无限循环 12.以下程序的输出结果是 ( D )。 main() { int a, b; for(a=1, b=1; a<=100; a++) {if(b>=10) break; b+=3; } printf("%d\n",a); } A) 101 B) 6 C) 5 D) 4 13. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是 ( D )。 A) 3 B) 6 C) 10 D) 20 14. 以下程序的输出结果是 ( C )。 main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A) 258 B) 741 C) 852 D) 369

15、 如a为int型,则与表达式a等价的C语言关系表达式是( B ) A)a>0 B)a!=0 C)a==0 D)a<0 16、 在C语言中,下面关于数组的描述中正确的是( C ) A)数组的大小是固定的,但可以有不同的类型的数组元素 B)数组的大小是可变的,但所有数组元素的类型必须相同 C)数组的大小是固定的,但所有数组元素的类型必须相同 D)数组的大小是可变的,但可以有不同的类型的数组元素 17、在C语言中,不正确的int类型的常数是( D )。

A)32768 B)0 C)037 D)0xAI 18、 以下程序的输出结果是( ) main( ) { int a= -1,b=1,k; if((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a); } A)-1 1 B)0 1 C)1 0 D)0 0 19、 C语言中运算对象必须是整型的运算符是( ) A) % B) / C) = D) 〈= 20.C语言源程序的基本单位是( )。 A)过程 B) 函数 C) 子程序 D) 标识符 21.下列程序的输出结果是( )。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A) 5 B) 1 C) 0 D)不确定值 22、设 int a=12; 表达式a+=a-=a*=a的值是( )。 A) 12 B) 144 C) 0 D) 132 23、以下程序的输出结果是( )。 main( ) { int a=011; printf(“%d\n”,a); } A) 12 B) 11 C) 10 D) 9 24、数组名作为实参传递给形参时,数组名被处理为( )。 A) 该数组的长度 B) 该数组的元素个数 C) 该数组的首地址 D) 该数组中各元素的值 25、两个指针变量不可以( )。 A)相加 B)比较 C)相减 D)指向同一地址 26.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。 a=125.534; a=(int)125.521%4; a=5<<2; A) 125,31,1 B) 125,1,20 C) 125,31,20 D) 125.534,2,20

27、enum color {red,green,yellow=5,white,black};定义了一枚举类型。值表中各 标符的枚举值依次为( ) A) 1、2、3、4、5 B)0、1、5、2、3 C) 0、1、5、6、7 D) 3、4、5、6、7 28、请选出可用作C语言用户标识符的一组标识符( ) A) void B) a3_b3 C) For D) 2a define _123 -abc DO WORD IF Case sizeof 29、假设在程序中a、b、c均被定义成整型,并且已赋大于1的值, 则下列能正确 表示代数式 abc1的表达式是( ) A)1/a * b * C B)1/(a * b * c) C)1/a/b(float)c D)1.0/a/b/c 30.能正确表示a和b同时为正或同时为负的逻辑表达式是( )。 A)(a>=0‖b>=0)&&(a<0‖b<0) B)(a>=0&&b>=0)&&(a<0&&b<0) C)(a+b>0)&&(a+b<=0) D)a*b>0 31.在以下一组运算符中,优先级最高的运算符是( )。 A)<= B)= C)% D)&&

32、有如下程序 : main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(“%f\n”,y); } 该程序的输出结果是( ) A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000 33、若k为整形,则while循环执行( )次。 k=2; while(k=0) printf(“%d”,k); k--; printf(“\n”); A) 10 B) 1 C) 0 D) 无数次 34、执行下面程序片段的结果是( ) int x=23; do {printf("%2d",x--);} while(!x); A)打印出321 B)打印出23 C)不打印任何内容 D)陷入死循环 35.设有如下的变量定义: int i =8,k ,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是( )。 A)a+=a-=(b=4)*(a=3) B)x%(-3); C)a=a*3=2 D)y=float(i) 36.设x和y均为int 型变量,则以下语句:x+ =y; y=x-y; x-=y;的功能是( )。 A)把x 和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值 37、以下程序的输出结果是( ) main( ) { int i; for(i=1;i<6;i++) { if(i%2){printf("#");continue;} printf("*"); } printf("\n"); } A)#*#*# B)##### C)***** D)*#*#* 38、(设有char a[5],*p=a;)下面的选项中正确的赋值语句是( )。 A)p=p+2; B)a=a+2; C)*p=“abcd”; D)*a=“abcd”; 39、 以下程序的输出结果为( )。 #define CUBE(x) (x*x*x) #include "stdio.h" main( ) {int i=4; i=CUBE(i); printf("%d\n",i); } A) 17 B) 64 C) 125 D) 53 40、 要打开一个已存在的非空文件"file"用于修改,选择正确的语句( )。 A) fp=fopen("file","r"); B) fp=fopen("file","w"); C) fp=fopen("file","r+"); D) fp=fopen("file","w+"); 41.有以下语句:int b;char c[10];,则正确的输入语句是 ( )。 A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c); c)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); 42.当a=1,b=3 ,c=5,d=4时,执行下面一段程序后,x的值为( )。 if(a

相关文档
最新文档