发布时间 : 星期二 文章奥鹏南开《C语言程序设计》复习资料更新完毕开始阅读b8303eecdc88d0d233d4b14e852458fb760b3802
★一个源程序文件由一个或多个什么组成(B) A. 语句 B. 函数 C. 程序块 D. 子程序
☆以下叙述中错误的是(B)
A. 变量的作用域取决于变量定义语句出现的位置
B. 同一程序中,全局变量的作用域一定比局部变量的作用域大
C. 局部变量的作用域是在定义它的函数体内 D. 全局变量的作用域是从定义位置开始至源文件结束
☆以下不正确的叙述是(D)
A. 在C程序中,逗号运算符的优先级最低 B. 在C程序中,APH和aph是两个不同的变量 C. 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
☆以下不正确的语句为(C) A. if(x>y);
B. if(x>y){x++;y++;} C. if(x=y)&&(x!=0)x+=y;
D. if(x!=y)scanf(“%d”,&x);else scanf(“%d”,&y);
☆以下对一维整型数组a的正确说明是(D) A. int a(10); B. int n=10,a[n]; C. int n;
D. define SIZE 10 int a[SIZE];
☆以下符合C语言语法的赋值表达式是(B) A. d=9+e+f=d+9 B. d=9+e,f=d+9 C. d=9+e,e++,d+9 D. d=9+e++=d+7
☆下列函数调用中,不正确的是(D) A. max(a,b) B. max(3,a+b) C. max(3,5) D. int max(a,b)
☆下列关于数组的特征错误的是(C) A. 先定义后使用 B. 可以有多维
C. 定义数组长度可以用常量或变量 D. 可以做参数传递
☆下列哪个是字符写函数(B) A. fgetc B. fputc C. fgets D. fwritr
☆下列哪个是读写文件出错检测函数(A) A. ferror B. clearerr C. feof D. fwrite
☆下面4个选项中,均是C语言关键字的选项是(B)
A. auto enum include
B. switch typedef continue C. signed union scanf D. if struct type
☆下面4个选项中,均是不合法的用户标识符的选项是(C) A. A P_0 do B. float a0 _A C. b–a 123 int D. _123 temp INT
☆下面程序段int
k=2;while(k==0){printf(“%d”,k);k--;}则下面描述中正确的是(C)
A. while循环执行10次 B. 循环是无限循环
C. 循环体语句一次也不执行 D. 循环体语句执行一次
☆下面不正确的字符串常量是(A) A. abc’ B. “12’12” C. “0” D. “ “
☆下面正确的字符常量是(C) A. “c” B. “\\\\” C. ‘W’
D. ‘’(中间没有空格)
★C程序的执行从哪里开始(D) A. 第一条语句 B. 第一个函数 C. 最后一个函数 D. 主函数
★C语言中规定,if语句的嵌套结构中,else总是与(D)配对 A. 与最近的if配套 B. 与第一个if配套
C. 按缩进位置相同的if配套
D. 与最近的且尚未配对的if配套
★C语言结构体类型变量在程序执行期间(A) A. 所有成员一直驻留在内存中 B. 只有一个成员驻留在内存中 C. 部分成员驻留在内存中 D. 没有成员驻留在内存中
★在C语言中,char型数据在内存中的存储形式是(D) A. 补码 B. 反码 C. 原码 D. ASCII码
★在C语言中,要求运算数必须是整型的运算符是(D) A. / B. && C. != D. %
★在C语言中,引用数组元素时,其数组下标的数据类型允许是(C) A. 整型常量 B. 整型表达式
C. 整型常量或整型表达式 D. 任何类型的表达式
★在C语言中,int、char和short三种类型的数据在内存中所占用的字节数(D) A. 由用户自己定义 B. 均为2个字节 C. 是任意的
D. 由所用机器的机器字长决定
☆若有以下定义语句:int
a[10]={1,2,3,4,5,6,7,8,9,10};则下列哪个是对该数组元素的正确引用(D) A. a[10] B. a[a[3]-5] C. a[a[9]] D. a[a[4]+4]
☆若有以下定义语句union data {int l;char c;float f;}a;int n;则以下语句正确的是(C) A. a=5;
B. a={2,’a’,1.2};
C. printf(“%d\\n”,a,l); D. n=a;
☆若有定义char str[]=”very good”,则str的长度为(C) A. 8 B. 9 C. 10 D. 11
☆若定义语句:int a=7;float x=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A) A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000
☆若已有定义int x;下列说明指针变量p指向x的正确语句是(B) A. int p=&x; B. int *p=&x; C. int p=x; D. int *p=x;
☆若要打开D盘上user文件夹下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是(C)
A. fopen(“D:\\\%user\\\\abc.txt”,”r”) B. fopen(“D:\\\%user\\\\abc.txt”,”w”) C. fopen(“D:\\\%user\\\\abc.txt”,”r+”) D. fopen(“D:\\\%user\\\\abc.txt”,”rb”)
☆若执行fopen函数时发生错误,则函数的返回值是(B) A. 地址值 B. null C. 1 D. EOF
☆若调用fputc函数输出字符成功,则其返回值是(D) A. EOF B. 1 C. 0
D. 输出的字符
☆如果在C语言中一个int型数据在内存中占2个字节,则,unsigned int型数据的取值范围为(C) A. 0~255 B. 0~32767 C. 0~65535
D. 0~2147483647
★当说明一个结构体变量时系统分配给它的内存是(A)
A. 各成员所需内存的总和
B. 结构中第一个成员所需内存量 C. 成员中占内存量最大者所需的容量 D. 结构中最后一个成员所需内存量
★当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是(B) A. k%2 B. k%2==0 C. (k%2)!=0 D. ! (k%2 ==0)
★当不能正确执行文件关闭操作时,fclose函数的返回值是(B) A. -1 B. EOF C. TRUE D. 1
☆已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的叙述是(D)
A. 整型变量的输出格式符只有%d一种
B. %x是格式符的一种,它可以适用于任何一种类型的数据
C. %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D. %8lx不是错误的格式符,其中数字8规定了输出字段的宽度
☆已知学生记录描述为struct student{int no;char name[20];char sex;struct{int year;int month;int day;}birth;};struct student s;设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是(D)
A. year=1984;month=11;day=11;
B. birth.year=1984;birth.month=11;birth.day=11; C. s.year=1984;s.month=11;s.day=11; D. s.birth.year=1984;s.birth.month=11;s. birth.day=11;
☆已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2=’A’+’6’-‘3’;后,c2中的值为(A) A. D B. 68
C. 不确定的值 D. C
☆已知各变量的类型说明如下:int
i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是(A) A. a+=a-=(b=4)*(a=3) B. a=a*3=2 C. x%(-3) D. y=float(i)
☆已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是(D) A. p=&i B. p=p1 C. p=&a[i] D. p=10
★设有说明语句:char w;int x;float y;double z;w*x+z-y值的数据类型为(D) A. float B. char C. int D. double
★设以下变量均为int类型,则值不等于7的表达式是(C) A. (x=y=6,x+y,x+1) B. (x=y=6,x+y,y+1) C. (x=6,x+1,y=6,x+y) D. (y=6,y+1,x=y,x+1)
★设有以下说明语句struct stu{int a;float b;}stutype;则以下叙述不正确的是(A) A. stutype是用户定义的结构体类型名
B. a和b都是结构体成员名 C. struct是结构体类型的关键字
D. struct stu是用户定义的结构体类型
★设有如下程序#include
A. 程序的输出结果为大写字母A B. 程序的输出结果为小写字母a C. 运行时产生错误信息
D. 格式说明符的个数少于输出项的个数,编译出错
☆#include”stdio.h”void main(){int
sum=0,a=1;while(a<=10){sum=sum+a;a++;}printf(“sum=%d\\n”,sum);}以上程序段运行结果是(B) A. sum=0 B. sum=55 C. sum=10 D. sum=11
☆main(){int n=4;while(n)printf(“%d”,--n);}以上程序的输出结果是(C) A. 20 B. 31 C. 3210 D. 210
☆main(){int x=2,y=-1,z=2;if(x ☆int k=1;while(k<=10);上述语句执行后,变量k的值是(D) A. 10 B. 11 C. 9 D. 无限循环,值不定 ☆for(i=2;i=0;)printf(“%d”,i--);以上程序段的循环次数是(B) A. 2次 B. 无限次 C. 0次 D. 1次 ☆for(i=2;i==0;)printf(“%d”,i--);以上程序段的循环次数是(C) A. 2次 B. 无限次 C. 0次 D. 1次 ☆fscanf函数的正确调用形式是(D) A. fscanf(文件指针,格式字符串,输出表列) B. fscanf(格式字符串,输出表列,fp) C. fscanf(格式字符串,文件指针,输出表列) D. fscanf(文件指针,格式字符串,输入表列) ☆struct person{char name[9];int age;};struct person class[10]={“John”,17,”Paul”,19,”Mary”,18,”adam”,16};根据上面的定义,能打印出字母M的语句是(D)A. printf(“%c\\n”,class[3].name); B. printf(“%c\\n”,class[3].name[1]); C. printf(“%c\\n”,class[2].name[1]); D. printf(“%c\\n”,class[2].name[0]); ☆x=-2;y=-1;if(x!=0)if(x>0)y=1;else y=0;该程序段的输出结果为(C) A. 1 B. 0 C. -1 D. 不确定 ☆x=-1;do{x=x*x;}while(x);以上程序段(D) A. 是死循环 B. 循环执行2次 C. 循环执行1次 D. 有语法错误 ★数组名作为实参传递给形参时,数组名被处理为(C) A. 该数组的长度 B. 该数组的元素个数 C. 该数组的首地址 D. 该数组中各元素的值 ★判断字符串a是否大于b,应当使用(C) A. if(a>b) B. if(strcmp(a,b)) C. if(strcmp(b,a)>0) D. if(strcmp(a,b)>0) ★关于return语句,下列说法正确的是(C) A. 不能在主函数中出现 B. 必须在每个函数中出现 C. 可以在同一个函数中出现多次 D. 只能在除主函数之外的函数中再出现一次 ★变量的指针,其含义是指变量的(A) A. 地址 B. 值 C. 名字 D. 标识 ★从用户使用的角度看,函数有两种,它们是(A) A. 库函数和用户自定义函数 B. 库函数和主函数 C. 用户自定义函数和主函数 D. 主函数和子函数 ☆对整型常量可进行自加或自减运算,而对变量或表达式不可以(×) ☆赋值表达式c=b=a=3是错误的(×) ☆字符型数据和整数之间是不可以通用的(×) ☆字符常数和字符串常数的存储是相同的,都是以字符的ASCII码值进行存放(×) ☆在Turbo C++中,字符型数据在内存中占1个字节(√) ☆在Visual C中,实型数据在内存中占4个字节(√) ☆在Visual C中,整型数据在内存中占2个字节(×) ☆C语言中没有依存于硬件的I/O语句(√) ☆C程序是由函数构成的,每一个函数完成相对独立的功能(√) ☆C语言中的标识符以字母或下划线开头,可跟任何字符(×) ☆C语言中的任何类型数据都可进行四则运算(×) ☆在C语言中,字母的大小写不被区分(×) ☆对C语言中用到的任何一个变量都要规定其类型(√) ☆用C语言可直接进行位运算和取地址等运算,因此C语言是一种低级语言(×) ☆PI可作为标识符使用(√) ☆被main函数调用的函数只能是库函数(×)