C语言重点12.docx
- 文档编号:28514758
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:91
- 大小:61.45KB
C语言重点12.docx
《C语言重点12.docx》由会员分享,可在线阅读,更多相关《C语言重点12.docx(91页珍藏版)》请在冰豆网上搜索。
C语言重点12
1.设有定义:
intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是(A)
A、*p=5;
B、*q=2;
C、p=1;
D、q=p;
2.C语言中函数调用的方式有(C)。
A、函数调用作为语句或函数表达式两种
B、函数调用作为语句一种
C、函数调用作为语句、函数表达式或函数参数三种
D、函数调用作为函数表达式一种
3.已知函数的调用形式:
fread(buffer,size,count,fp);其中buffer代表(D)。
A、一个文件指针,指向要读的文件
B、一个存储区,存放要读的数据项
C、一个整数,代表要读入的数据项总数
D、一个指针,指向要读入数据的存放地址
4.以下程序段的输出是(C)
intx=496;
printf(“*%-06d*\n”,x);
A、*000496*
B、*496*
C、*496*
D、输出格式不合法
5.一个C语言程序是由(C)。
A、一个主程序和若干子程序组成
B、若干子程序组成
C、函数组成
D、若干过程组成
6.下列四组选项中,均不是C语言关键字的选项是(A)。
A、defineIFtype
B、includescanfcase
C、whilegopow
D、getccharprintf
7.若有说明:
intn=2,*p=&n,*q=p;,则以下非法的赋值语句是(C)。
A、n=*q;
B、p=q;
C、p=n;
D、*p=*q;
8.以下程序的输出结果是B
voidprtv(int*x)
{printf(“%d\n”,++*x);}
main()
{inta=25;
prtv(&a);
}
A、24
B、26
C、23
D、25
9.一个算法应该具有“确定性”等5个特性,下面对另外4个特性描述错误是(B)。
A、有穷性
B、有零个或多个输出
C、可行性
D、有零个或多个输入
10.以下叙述中正确的是(A)。
A、宏替换不占用运行时间,只占编译时间
B、在以下定义中CR是称为"宏名"的标识符#defineCR045
C、在程序的一行上可以出现多个有效的预处理命令行
D、使用带参的宏时,参数的类型应与宏定义时的一致
11.fgetc函数的作用是从指定文件读入一个字符,该文件打开方式必须是(D)。
A、答案B和C都正确
B、只写
C、追加
D、读或读写
12.以下程序的输出结果是C
#defineMIN(x,y)(x)<(y)?
(x):
(y)
main()
{inti,j,k;
i=10;j=15;
k=10*MIN(i,j);
printf(“%d\n”,k);
}
A、10
B、150
C、15
D、100
13.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表
示的字符常量'\101'是___D___。
A、非法的常量
B、字符a
C、字符e
D、字符A
14.设j和k都是int类型,则下面的for循环语句(c)。
for(j=0,k=0;j<=9&&k!
=876;j++)scanf("%d",&k);
A、最多执行9次
B、循环体一次也不执行
C、最多执行10次
D、是无限循环
15.关于建立函数的目的,以下正确的说法是(C)。
A、减少程序文件所占内存
B、提高程序的执行效率
C、提高程序的可读性
D、减少程序的篇幅
16.有以下程序
floatfun(intx,inty)
{
return(x+y);
}
main()
{
inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
程序运行后的输出结果是D
A、21
B、9.0
C、编译出错
D、9
17.以下程序中,若第一个printf语句输出是194,则第二个printf语句输出结果(D)
main()
{inta[]={1,2,3,4,5,6,7,8,9,0};
printf(“%x\n”,a);
printf(“%x\n”,a+9);
}
A、212
B、204
C、1a4
D、1a6
18.以下程序的输出结果是(D)
#include“math.h”
main()
{doublea=-3.0,b=2;
printf(“%3.0f%3.0f\n”,pow(b,fabs(a)),pow(fabs(a),b));
}
A、以上三个都不对
B、66
C、98
D、89
19.C语言中以下几种运算符的优先次序(B)的排列是正确的。
A、由高到低为:
算术运算符,关系运算符,赋值运算符,!
&&,||
B、由高到低为:
!
算术运算符,关系运算符,&&,||,赋值运算符
C、由高到低为:
!
&&,||,算术运算符,赋值运算符
D、由高到低为:
算术运算符,关系运算符,!
&&,||,赋值运算符
20.若调用fputc函数输出字符成功,则其返回值是(D)。
A、1
B、EOF
C、0
D、输出的字符
21.下列程序运行结果为:
C
#defineP3
#defineS(a)P*a*a
main()
{intar;
ar=S(3+5);
printf("\n%d",ar);
}
A、192
B、25
C、29
D、27
22.以下语句中,不能实现回车换行的是(D)。
A、fprintf(stdout,"\n");
B、fwrite("\n",1,1,stdout);
C、printf("\n");
D、putchar("\n");
23.C语言源程序的基本单位是(C)。
A、子程序
B、过程
C、函数
D、标识符
24.执行下列语句后变量x和y的值是(A)。
y=10;x=y++;
A、x=10,y=11
B、x=11,y=10
C、x=11,y=11
D、x=10,y=10
25.以下只有在使用时才为该类型变量分配内存的存储类说明是(B)。
A、auto和static
B、auto和register
C、register和static
D、extern和register
26.在C语言中,调用函数除函数名外,还必须有(A)。
A、()
B、实际参数
C、函数返回值
D、函数预说明
27.以下程序的执行结果是_____B___.
main()
{intw=1,x=2,y=3,z=4;
w=(w x: w; w=(w y: w; w=(w z: w; printf("%d",w);} A、2 B、4 C、3 D、1 28.设有语句chara=‘\172’;,则变量a(C) A、说明不合法 B、包含2个字符 C、包含1个字符 D、包含3个字符 29.在一个C程序中(C)。 A、main函数必须出现在固定位置 B、main函数必须出现在所有函数之前 C、main函数可以在任何地方出现 D、main函数必须出现在所有函数之后 30.函数ftell(fp)的作用是(C)。 A、以上答案均正确 B、初始化流式文件的位置指针 C、得到流式文件中的当前位置 D、移到流式文件的位置指针 31.在执行fopen函数时,ferror函数的初值是(D)。 A、TRUE B、1 C、-1 D、0 32.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是(B)。 A、"ab" B、"wb+" C、"ab++" D、"rb+" 33.以下程序段的输出结果是C。 intn=10; while(n>7) {n--; Printf(“%d”,n); } A、1098 B、10987 C、987 D、9876 34.C语言中,switch后的括号内表达式的值可以是(C)。 A、只能为整型和字符型 B、只能为整型 C、任何类型 D、只能为整型,字符型,枚举型 35.下列关于C语言数据文件的叙述中正确的是(D)。 A、文件由ASCII码字符序列组成,C语言只能读写文本文件 B、文件由二进制数据序列组成,C语言只能读写二进制文件 C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 36.有一个命名为C001.C的C语言源程序,当正常执行后,在当前目录下不存在的文件是D A、C001.OBJ B、C001.C C、C001.EXE D、C001.DAT 37.17.inta[10];给数组a的所有元素分别赋值为1、2、3、……的语句是(B)。 A、for(i=1;i<11;i++)a[i+1]=i; B、for(i=1;i<11;i++)a[i-1]=i; C、for(i=1;i<11;i++)a[i]=i; D、for(i=1;i<11;i++)a[0]=1; 38.19.逻辑运算符两侧运算对象的数据类型(A)。 A、可以是任何类型的数据 B、只能是整型或字符型数据 C、只能是0或1 D、只能是0或非0正数 39.经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是(D)。 A、p=a[5]; B、p=&(j+2); C、p=a[2]+2; D、p=p+2; 40.以下数组定义中不正确的是(C)。 A、inta[2][3]; B、intb[][3]={0,1,2,3}; C、intd[3][]={{1,2},{1,2,3},{1,2,3,4}}; D、intc[100][100]={0}; 41.下列运算符中优先j级别最低的运算符是C A、+ B、! = C、|| D、<= 42.下列叙述中不正确的是D A、C程序的main函数可以没有参数 B、C程序的main函数若有参数时,第一个参数的值最少是1 C、C程序的main函数可以有参数 D、main函数的第一个参数必须是整数,其名字必须是argc;第二个参数可以定义成: char*argv[],名字必须是argv。 43.若有以下程序段: inta=3,b=4;a=a^b;b=b^a;a=a^b;则执行以上 语句后,a和b的值分别是(D)。 A、a=4,b=4 B、a=3,b=3 C、a=3,b=4 D、a=4,b=3 44.以下程序的输出结果是_A_______. voidfun(inta,intb,intc) {a=456;b=567;c=678;} main() {intx=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d\n",z,y,x);} A、30,20,10 B、10,20,30 C、678567456 D、456567678 45.执行下列程序段后,m的值是__B______. intw=2,x=3,y=4,z=5,m; m=(w w: x; m=(m m: y; m=(m m: z; A、4 B、2 C、3 D、5 46.若有以下定义和语句: C inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 不能表示a数组元素的表达式是 A、a[9] B、*p C、a[*p-a] D、*p++ 47.在定义构造数据类型时,不能(C)。 A、说明变量 B、说明存储类型 C、末尾不写分号 D、初始化 48.若x=2,y=3则x||y的结果是B A、3 B、1 C、0 D、2 50.以下不正确的叙述是(B)。 A、若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变 B、当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值 C、程序中,APH和aph是两个不同的变量 D、在C程序中所用的变量必须先定义后使用 51.下面叙述中错误的是(B) A、在其它函数中定义的变量在主函数中也不能使用 B、主函数中定义的变量在整个程序中都是有效的 C、形式参数也是局部变量 D、复合语句中定义的函数只在该复合语句中有效 52.4.若有inta[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为(C)。 A、&a[0][1],3 B、非法,2 C、&a[1][0],2 D、a[0][0],4 53.若有下列定义,则对a数组元素地址的正确引用是(D)。 inta[5],*p=a; A、*(p+5) B、*&a[5] C、*p+2 D、*(a+2) 54.以下叙述正确的是(D) A、C程序中各函数之间允许直接递归调用不允许间接递归调用 B、C程序中各函数之间不允许直接递归调用允许间接递归调用 C、C程序中各函数之间不允许直接递归调用也不允许间接递归调用 D、C程序中各函数之间既允许直接递归调用也允许间接递归调用 55.以下叙述正确的是(B)。 A、do-while语句构成的循环不能用其它语句构成的循环来代替. B、用do-while语句构成的循环,在while后的表达式为零时结束循环 C、用do-while语句构成的循环,在while后的表达式为非零时结束循环. D、do-while语句构成的循环只能用break语句退出. 56.以下能正确进行字符串赋值的语句是(D) A、chars[5]=“good! ”; B、chars[5]={‘a’,‘e’,‘i’,‘o’,‘u’}; C、chars[5];s=“good! ”; D、char*s;s=“good! ”; 57.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(D) A、5=x=4+1; B、x==5; C、x+n=I; D、x=n/2.5; 58若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是(D) scanf(“a=%f,b=%f”,&a,&b); A、a=3.12,b=9 B、a=3.12b=9 C、3.129.0 D、a=3.12,b=9.0 59.若inta=2,则执行完表达式a-=a+=a*a后,a的值是a A、0 B、-2 C、-8 D、-4 60.下列说法不正确的是(D)。 A、不同函数中,可以使用相同名字的变量 B、在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效 C、形式参数是局部变量 D、主函数main中定义的变量在整个文件或程序中有效 61.在位运算中,操作数每右移一位,其结果相当于(C)。 A、操作数除以4 B、操作数乘以2 C、操作数除以2 D、操作数乘以4 62.能将高级语言编写的源程序转换为目标程序的是(D)。 A、编辑程序 B、解释程序 C、链接程序 D、编译程序 63.在C语言中,要求运算数必须是整型或字符型的运算符是(B)。 A、|| B、& C、&& D、! 64.宏定义#definePI3.14中的宏名PI代替C A、不确定类型的数 B、一个单精度实数 C、一个字符串 D、一个双精度实数 65.已知i、j、k为int型变量,若从键盘输入: 1,2,3<回车>,使i的值为1、j 的值为2、k的值为3,以下选项中正确的输入语句是___B__。 A、scanf("%2d%2d%2d",&i,&j,&k); B、scanf("%d,%d,%d",&i,&j,&k); C、scanf("%d%d%d",&i,&j,&k); D、scanf("i=%d,j=%d,k=%d",&i,&j,&k); 66.下列字符序列中,不可用作C语言标识符的是(C)。 A、symbol B、a_1 C、#ab D、b70 67.以下程序的输出结果是(D)。 main() {floatx=3.6; inti; i=(int)x; printf("x=%f,i=%d\n",x,i); } A、x=3i=3.600000 B、x=3.600000,i=4 C、x=3,i=3 D、x=3.600000,i=3 68.以下选项中合法的实型常数是(D)。 A、5E2.0 B、1.3E C、E-3 D、.2E0 69.判断char型变量c是否为大写字母的C的表达式是(C) A、‘A’<=c<=’Z’ B、(‘A’<=c)AND(‘Z’>=c) C、(c>=’A’)&&(c<=’Z’) D、(c>=’A’)&(c<=’Z’) 70.应用缓冲文件系统对文件进行读写操作,打开文件的函数名为(B)。 A、close B、fopen C、fclose D、open 71.enuma{sum=9,mon=-1,tue};定义了(D)。 A、枚举变量 B、整数9和-1 C、3个标识符 D、枚举数据类型 72.下列关于指针定义的描述,___D______是错误的 A、指针变量的类型与它所指向的变量类型一致 B、指针是一种变量,该变量用来存放某个变量的地址值的 C、指针变量的命名规则与标识符相同 D、指针是一种变量,该变量用来存放某个变量的值 73.C语言程序中,当调用函数时(B)。 A、实参和虚参可以共用存储单元 B、实参和虚参各占一个独立的存储单元 C、计算机系统自动确定是否共用存储单元 D、可以由用户指定是否共用存储单元 74.整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的 表达式是(A)。 A、x^y B、x||y C、x&y D、x|y 75.以下程序段的输出结果为(A)。 for(i=4;i>1;i--)for(j=1;j A、###### B、无 C、# D、### 76.下列程序的输出结果是(D)。 main() {inta=7,b=5; printf("%d\n",b=b/a); } A、不确定值 B、1 C、5 D、0 77.以下程序的输出结果是(D) doublef(intn) {inti;doubles; s=1.0; for(i=1;i<=n;i++) s+=1.0/i; returns; } main() {inti,m=3;floata=0.0; for(i=0;i a+=f(i); printf(“%f\n”,a); } A、8.25 B、3.000000 C、4.000000 D、5.500000 78.inta[10];给数组a的所有元素分别赋值为1、2、3、……的语句是(B)。 A、for(i=1;i<11;i++)a[i+1]=i; B、for(i=1;i<11;i++)a[i-1]=i; C、for(i=1;i<11;i++)a[i]=i; D、for(i=1;i<11;i++)a[0]=1 79.以下程序的输出结果是(C) main() {intaa[3][3]={{2},{4},{6}},i,*p=&aa[0][0]; for(i=0;i<2;i++) {if(i==0) aa[i][i+1]=*p+1; else++p; printf(”%d”,*p); } printf(“\n”); } A、33 B、36 C、23 D、26 80.以下程序的输出结果是(B) main() {intx=35;charz=‘A’; printf(“%d\n”,(x&15)&&(z<‘a’)); } A、2 B、1 C、0 D、3 81.已定义两个字符数组a,b,则以下正确的输入格式是(B) A、scanf("%s%s",&a,&b); B、scanf("%s%s",a,b); C、gets("a"),gets("b"); D、get(a,b); 82.以下叙述中正确的是(A)。 A、静态(static)类别变量的生存期贯穿于整个程序的运行期间 B、函数的形参都属于全局变量 C、未在定义语句中赋初值的auto变量和static变量的初值都是随机值 D、全局变量的作用域一定比局部变量的作用域范围大 83.sizeof(float)是(D)。 A、一个浮点表达式 B、一个不合法的表达式 C、一种函数调用 D、一个整型表达式 84.以下程序的输出结果是(D) main() {inta[]={2,4,6,8},*p=a,i; for(i=0;i<4;i++) a[i]=*p++; printf(“%d\n”,a[2]); } A、4 B、8 C、2 D、6 85.若a是float型变量,b是unsigned型变量,以下输入语句中合法的是(C)。 A、scanf("%6.2f%d",&a,&b); B、scanf("%f%n",&a,&b); C、scanf("%f%3o",&a,&b); D、scanf("%f%f",&a,&b); 86.设有说明: charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(C). A、float B、int C、double D、char 87.C语言中不可以嵌套的是(D)。 A、选择语句 B、循环语句 C、函数调用 D、函数定义 88.C语言函数的隐含存储类别是(C) A、static B、auto C、extern D、register 89.C语言中的简单数据类型有(A) A、整型、实型、字符型 B、整型、字符型、逻辑型 C、整型、实型、逻辑型 D、整型、实型、逻辑型、字符型 90.chara1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是(B)。 A、strcat(a1,a2); B、strcat(a2,a1); C、strcpy(a2,a1); D、strcpy(a1,a2); 91.判断两个字符串是否相等,正确的表达方式是(D) A、while(s1=s2) B、while(s1==s2) C、while(strcmp(s1,s2)=0) D、while(strcmp(s1,s2)==0) 92.以下程序段的输出结果是(A) ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 重点 12