C语言复习(1)

合集下载

C语言程序设计期末复习题及答案(1)

C语言程序设计期末复习题及答案(1)
4. 设int i = 5;则语句while (i > = 1) i - -;执行后i的值为_0______。
5. n为整型,表达式n=1,n+2,n*5 的值是__5_______。
6. 已知:float x=8.53; 整形变量i=(int)x;则i=__8_____。
7. 已知:int x=5;语句y=x++*x++;执行完成后x=___7__,y=_25____。
int i, k, num;
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
for (j=0;j<n-1-i;j++)
if (a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
}
2. 本题20分.总体程序完整性3分,结构体定义正确3分,结构体数组定义以及初始化正确6分,指针定义正确3分,输出判断正确3分,输出姓名地址2分。以下代码为参考代码,答案不唯一。
(B)在指针操作中,运算符“&”是取指针指向的对象的值。
(C)在指针操作中,运算符“*”的操作对象是一个地址。
(D)语句int *ip;定义了指针变量只能存放整型变量的地址。
14.判断字符串str1是否大于字符串str2,应当使用___d________。
(A)if (str1>str2)

C语言程序设计复习题(一)1的阅读程序部分

C语言程序设计复习题(一)1的阅读程序部分
3
} case 2: printf("third\n"); } } 结果:first third 4.下列程序运行结果是【 -1 】 。 #include<stdio.h> main( ) { int n=4; do n--; while (n); printf("%d\n",--n); } 5.下列程序运行结果是【 】 。 #include<stdio.h> dec( ) { static int x=5; x--; printf("%d",x); } main( ) { int k; for(k=0;k<3;k++) dec( ); } 结果:4 3 2 五.程序填空(请依题意,将程序中括号部分补充完整。每题 3 分,共 15 分) 1. 一个正整数与 3 的和是 5 的倍数,与 3 的差是 6 的倍数,编写一个程序求符合条件的最 小数。 #include <stdio.h> main() { int n; n=1; while (1) { n=n+1; if 【 (1) (n+3)%5==0&&(n-3)%6==0 】break; } printf("n=%d",n); } 2.将两个字符串合并成一个字符串。 #include <stdio.h> main() { char s1[20],s2[20],s3[40]; int i,j; printf("String1:"); gets(s1); printf("String2:》复习题(二)
一.单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答 案的题号,填入题中的括号内。多选不给分。每题 1 分,共 20 分) 1.在 C 语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式 中包含有 int、 long、 unsigned、 char 类型的变量和数据, 则表达式最后的运算结果是 【 ④ 】 类型数据。 ① int ② char ③ unsigned ④ long 2.若 int 型数据占 2 个字节,则以下语句的输出为 【 ④ 】 。 int k=-1; printf(“%d,%u\n”,k,k); ① -1,-1 ② -1,32767 ③ -1,32768 ④ -1,65535 3.设 x 和 y 均 为 int 型 变 量 , 则 执 行 以 下 语 句 后 的 输 出 为 【 ① 】 。 x=1 5; y=5 ; pri ntf( “ %d\n ” ,x%= (y%= 2)); ① 0 ② 1 ③ 6 ④ 12 4.若 x 为 uns igned in t 型 变 量 , 则 执 行 以 下 语 句 后 的 x 值 为 【 ④ 】 。 x=6 5535; pri ntf( “ %d\n ” ,x); ① 65535 ② 1 ③ 无定值 ④ -1 5 . 判断 char 型变量 c1 是否为小写字母的最简单且正确的表达式为【 ④ 】 。 ① ’a’<=c1<=’z’ ② (c1>=a)&&(c1<=z) ③ (‘a’<=c1)||(‘z’>=c1) ④ (c1>=’a’)&&(c1<=’z’) 6 . 以下不正确的 if 语句是【 ③ 】 。 ① if (x>y); ② if (x= =y) x+=y; ③ if (x!=y)scanf(“%d”,&x) else scanf(“%d”,&y); ④ if (x<y) {x++;y++;} 7 . C 语言对嵌套 if 语句的规定是:else 总是与【 ④ 】 配 对 。 ① 其 之 前 最 近 的 if ② 第 一 个 if ③ 缩 进 位 置 相 同 的 if ④ 其 之 前 最 近 且 不 带 else 的 if 8 . 设有说明语句:int a=2,b=7,c=5;则执行以下语句后,输出为【 ② 】 。 switch(a>0) { case 1: switch(b<0) { case 1: prin tf(“@”); break; case 2: p rintf(“!”); b reak; } case 0: switch(c==5) { case 0: prin tf(“*”); break; case 1 : p rintf(“#”); b reak; default:printf(“$”); break; } defau lt: p rin tf(“&”); } ① @#& ② #& ③ *& ④ $& 9 . 若有说明语句:int w=2,x=3,y=3,z=4;则表达式 w>x?w:z>y?z:x 的值是 【 ① 】 。 ① 4 ② 3 ③ 2 ④ 1 10.下面有关 for 循环的正确描述是【 ④ 】 。 ① for 循环只能用于循环次数已经确定的情况 ② for 循环是先执行循环体语句,后判定表达式

C语言)二级考复习资料(1)

C语言)二级考复习资料(1)

1. 下述循环的循环次数是()int k=2;while(k=0)printf("%d",k);k--;printf("\n");A、无限次B、0次C、1次D、2次2. 在下列选项中,没有构成死循环的程序段是()A、int i=100;B、for(;;)while(1){i=i%100+1;if(i>100)break;}C、int k=1000;D、int s=36;do {++k;} while(k>=10000);while(s);--s;3. 若有以下定义和语句,且0<=i<10,则对数组元素的错误引用是()int a[]={0,1,2,3,4,5,6,7,8,9},*p,i;p=a;A、*(a+i)B、a[p-a]C、p+iD、*(&a[i])4. 下面能正确将字符串"Boy"进行完整赋值操作的语句是()A、char s[3]={'B','o','y'};B、char s[ ]="Boy";C、char s[3]={"Boy"};D、char s[3];s[0]='B';s[1]='o';s[2]='y';5. 以下程序段的输出结果是()char arr[ ]="ABCD";char*ptr;for(ptr=arr;ptr<arr+4;ptr++)printf("%s\n",ptr);A、ABCDB、AC、DD、ABCDBCDCDD6. C语言的auto型变量是()A、存储在动态存储区中。

B、存储在静态存储区中。

C、存储在计算机CPU的寄存器中。

D、存储在外存储器中。

7. 测试文件是否结束函数的函数名是()A、feofB、EOFC、eofD、FEOF8. 下面程序段的输出结果是()int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[4];p=a;printf(“%d\n”,*(*(p)+2));A、1B、5C、3D、79. C语言规定:在一个源程序中,main函数的位置是()A、必须在最开始B、必须在系统调用的函数的后面C、可以任意D、必须在最后10. 一个C程序的执行是从()A、本程序的main函数开始,到main函数结束B、本程序的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束11. 下面的四个选项中,均是不合法的用户标识符的选项是()A、AB、floatC、b-aD、_123P_0 la0 goto tempdo _A int INT12. 下面四个选项中,均是合法转义字符的选项是()A、’\’B、’\’C、’\018’D、’\\0’‘\\’‘\017’‘\f’‘\101’‘\n’‘\”’‘xab’‘x1f’13. sizeof(float)是()A、一个双精度型的表达式B、一个整型表达式C、一种函数调用D、一个不合法的表达式16. 若二维数组a有m列,则在a[i][j]前的元素个数为()A、j*m+iB、i*m+jC、i*m+j-1D、i*m+j+117. 对两个数组a和b进行如下初始化char a[ ]=”ABCDEF”;char b[ ]={‘A’,’B’,’C’,’D’,’E’,’F’};则以下叙述正确的是()A、a与b 数组完全相同B、a 与b 长度相同C、a 和b中都存放字符串D、a数组比b 数组长度长18. C语言中有关全局变量的说法,正确的是()A、在使用到它的所有文件中均需定义B、在函数体外定义一次C、在main函数中定义E、在main函数外定义19. 若有数组名作为函数调用时的实参,则传递给该函数形参的是()A、数组的首地址B、数组的第一个元素的值C、数组中全部元素的值D、数组元素的个数20. 下面程序段的输出结果是()int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[3];p=a;printf(“%d\n”,*(*(p+1)+2));A、3B、4C、6D、721. 不属于C语言程序基本结构的是( )A)顺序结构B)选择结构C)函数结构D)循环结构22. 若有定义及赋值:int a[6][6],*p;p=*a;则下列各式中能表示元素a[1][0]行地址的表达式是。

C 语言复习要点(一)

C 语言复习要点(一)

C 语言复习要点2009年5月本次考试有两大题型:1.选择题30分(15道)2.操作题(编程题)2*35分,一.选择题各位老师可以按如下知识点:给学生串讲一遍,每一部分给出几道样题:1)程序结构样题1:C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置样题2:C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置2)标识符命名、数据类型主要考核标识符命名、变量、常量、基本数据类型等,标识符命名时要和C语言的关键字注意区分。

样题1:以下不正确的C语言标识符是____。

A) float B) a_1_2 C) ab1exe D) _x样题2:以下是正确的C语言标识符是____。

A) #define B) _123 C) %d D) \n样题3:已知:char a='\70';则变量a中。

A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明非法3)运算符和表达式如算术运算符、逻辑运算符、关系比较运算符、条件运算符、逗号运算符等。

还包括逻辑运算的短路情况,尤其要注意++和—的不同用法。

以及运算符所允许的类型(i++)+(j++)+k;样题1:温度华氏和摄氏的关系是: C=-(F-32)。

已知:float C,F;由华氏求摄氏的正确的9赋值表达式是____。

A) C=5/9(F-32) B) C=5*(F-32)/9C) C=5/9*(F-32) D) 三个表达式都正确样题2:已知int i=10;表达式"20-0<=i<=9"的值是____。

A) 0 B) 1 C) 19 D) 20样题3:设x,y,t均为in型变量,则执行语句:x=y=1; t=++x||++y后,y的值是:不确定 4 3 1&&样题4:逗号表达式” (a=2*3,a*4),a+20”的值是44 26 6 244)输入和输出主要考scanf 和printf的格式样题1:若有int a=97;执行语句printf("%c",a);屏幕显示____。

《C语言复习》课件

《C语言复习》课件

循环语句
01
02
03
04
循环语句用于重复执行一段 代码,直到满足特定条件为 止。在C语言中,主要有三种 类型的循环语句:for循环、 while循环和do-while循环。
for循环用于在指定次数内重 复执行代码块。for循环的语
法格式为:for (initialization; condition; update) { code block }。
while循环用于当条件为真时 重复执行代码块。while循环
的语法格式为:while (condition) { code block }

do-while循环与while循环类 似,不同之处在于do-while循 环至少会执行一次代码块,然 后再判断条件。do-while循环
的语法格式为:do { code block } while (condition)。
C语言的基本语法结构
C语言的基本语法结构包括数据类型、运算符、控制结构、函数等部分。
数据类型包括整型、浮点型、字符型等,运算符包括算术运算符、关系运算符、逻辑运算符等,控制结 构包括条件语句、循环语句等。
函数是C语言的基本组成单位,用于实现特定的功能或计算,通过函数可以重复使用代码,提高代码复 用性。
数,对参数的修改会影响原始变量的值。
数组的定义和使用
总结词
掌握数组的定义和使用方法
VS
详细描述
数组是一种存储相同类型数据元素的数据 结构。在C语言中,可以通过指定数组大 小来定义数组,并使用下标来访问数组元 素。数组可以用于存储大量相同类型的数 据,并提供高效的随机访问。
数组的遍历和排序
总结词
掌握数组的遍历和排序方法
02

C语言复习题库(1)

C语言复习题库(1)

一、填空题(每空 1 分,共20 分)1.程序的三种基本结构为(顺序)、(选择)和(循环)。

2.在C 语言中,用(;)表示语句的结束。

3.语句printf("%%d%d",123);将输出:(“%d123 )。

4.逻辑运算的结果值是(0 )或( 1 )。

5.数组 int a[3][4];共定义了(12 )个数组元素。

6.在 C 语言中,正确的标识符是由(数字、字母、下划线)组成的,且由(字母和下划线)开头的。

7.一个算法应具有的特点有:(有穷性)、(确定性)、有零个或多个输入、有一个或多个输出、有效性。

8.在程序执行过程中,其值不发生改变的量称为(常量),其值可变的量称为(变量)。

9.若有定义:int m=5,y=2;则执行表达式y+=y-=m*=y 后的y 值是(-16 )。

10.在三种正规循环中,当条件表达式的值为(0 )时,就结束循环。

11.C 语言中函数的参数分为(形式参数)和(实际参数)。

12.当函数的数据类型省略时,默认的数据类型为(int 型或者整数型)型。

13.按变量地址访问变量的方法叫(直接访问),通过存放变量地址的变量去访问变量的方法叫(间接访问)。

14.若有定义:int [3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(0 ),a[2][1]得到的初值是( 6 )。

15.文件包含的一般形式为(#include <文件名> )。

16.宏定义中宏名一般用大写字母表示,容易做到(一改全改)。

17.结构体是一种(构造)数据类型用途是把(不同类型)的数据组合成一个整体。

18.位运算的运算对象只能是(整型)或(字符型)数据,而不可以是其他类型的数据。

19.(文件)是存储在外部介质上数据的集合,是操作系统数据管理的单位。

20.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是(9 )。

c语言期末复习试卷

复习题(一)1。

用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标2。

下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。

【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。

【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

吉林大学-C语言复习1

一、单项选择题1.以下选项中可作为 C 语言合法整数的是( )A) 10110B B )0386 C )OXffa D )x2a2参考答案:C2.以下选项中非法的表达式是( )A 0<=x<100B )i=j==0C )(char)(65+3)D )x+仁x+1参考答案:D3.假定x 和y 为double 型,则表达式x=2,y=x+3/2的值是( )A) 3.500000 B) 3 C) 2.000000 D) 3.000000参考答案:D4.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是( )A) c1A c2 B) c1&c2 C) ~c2 D) c1|c2参考答案:A5.以下能正确定义二维数组的是( )A) int a[][3] B) int a[][3]=2{2*3};C) int a[][3]={} D) int a[2][3]={{1},{2},{3,4}};参考答案:D6.设正x 、y 均为整型变量,且x=10 y=3,则以下语句的输出结果是( )prin tf("%d,%d\n",x--,--y);A) 10,3 B) 9.3 C) 9.2 D)10,2参考答案:D7.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是()A) a=a+b=b++ B) w%((i nt)a+b) C) (c+w)%(i nt)a D) w=a= =b;参考答案:C8.已定义c 为字符型变量,则下列语句中正确的是()10•以下语句或语句组中,能正确进行字符串赋值的是(A)char *sp;*sp="right!" B)char s[10];s="right!"; C)char s[10];*s="right!"D)char *sp="right!";参考答案:D11. si 和s2已正确定义并分别指向两个字符串。

c语言复习题一

c语⾔复习题⼀复习题⼀⼀、选择题1.以下程序的输出结果是( B )。

#include “stdio.h ”main( ){ printf(“%d\n ”,‘A ’);}A.不确定值B.65C. 97D.A2. 以下程序的输出结果是( C )main( ){ char c1=‘7’,c2=‘0’;printf(“%c,%c,%d\n ”,c1,c2,c1-c2);}A.输出出错信息B.7,0,5C.7,0,7D.6,0,73. 以下变量说明正确的是( C )A.Int a,b;B.int x,float y;C. int a,x;D.int a,x4.若int a, b; scanf("%d%d", &a, &b); 不可以⽤( A )作为输⼊的分隔符。

A.,B. 空格C. 回车D. TAB 键5.设x=2.5, a=7, y=4.7 则表达式x+a%3*(int)(x+y)%2/4的值为( B )A. 0B. 2.5C.不确定D.36. 以下变量x.、y 、z 均为double 类型且已正确赋值,不能正确表⽰数学式⼦zy *x 的C 语⾔表达式是( A ) A. x/y*z B. x*(1/(y*z)) C. x/y*1/z D. x/y/z7. 下⾯(A )是正确的变量名。

A. xyB. 2xyC. x+yD.for8. 设有变量说明:int x=5,y=3;那么表达式y=x>y?(x=1):(y=-1);运算后,x 和y 的值分别是( B )相当与if 语句,问号前⾯成⽴是则执⾏冒号前不成⽴是执⾏冒号后A. 1和-1B. 1和1C. 5和1D. 1和39.以下合法的数组定义是( D )A.int a[]=“string ”;B.int a[5]={0,1,2,3,4,5};C.char a=“string”;D.int a[]={0,1,2,3,4,5};10.设有如下定义char s1[30]=“12345”;printf(“%d\n”,strlen(s1)记数函数直到出现\0是停⽌记数;则输出结果是( B )A.4B. 5C. 9D. 1011.以下程序段中内循环体总的执⾏次数是( A )for(i=5;i>=1;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.3012.语句b=3+a--;表达式的功能,可以由下⾯的(C)的两个语句来实现。

C语言复习资料 (1)

C语言复习资料一、C语言基础知识1. C语言的主要特点有哪些?(多选) ACDEA.简洁、紧凑,使用方便、灵活,易于学习和应用。

B.C语言是面向结构化程序设计的语言。

C.C语言允许直接对位、字节和地址进行操作。

D.数据类型丰富。

E.C语言生成的目标代码质量高。

2. C语言程序由什么组成?(单选) CA. 子程序B. 主程序和子程序C. 函数D. 过程3. 源程序要正确地运行,必须要有什么函数?(单选) CA. printf函数B. 自定义的函数C. main函数D. 不需要函数4. 指出下面合法的标识符:(多选) C D E GA. 3abB. intC. ABCD. a_3E. sum.aF. #abcG. _stu2H. abc f5. 指出下面哪些是合法的用户定义的标识符?(多选) D GA. P-SB. putcharC. doubleD. _908E. *parF. sheep!G. windH. x y6. C语言的基本类型哪些:(多选)A BE GA. 整型B. 枚举型C. 数组型D. 指针型E. 字符型F. 构造型G. 实形H. 空类型7. 这段程序中的常量有:(多选) A C D EF#define PI 3.14void main(){int sum;sum = 10 + 15;printf("sum=%d\n",sum);printf("result is 25\n");}这段程序中常量有:A. 10B. sumC. 15D. 25E. mainF. PI8. C语言中整形常量按进制划分,有以下几种:(多选)A B CA. 十六进制常量B. 十进制常量C. 八进制常量D. 二进制常量9. 75的十六进制写法为_0x4B__,八进制写法为_0113__。

0x75的八进制写法为_0165__,十进制写法为_117__。

075的十进制写法为__61_,十六进制写法为__0X3D_。

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

《C语言程序设计》复习题一.单项选择题1.一个可执行的C程序的开始执行点是:cA. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数2.组成C语句的一个必不可少的符号是:dA. 逗号B. 引号C. 冒号D.分号3.若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:cA. intB. longC. floatD. double4.下述是C语言中有关变量定义的几个说法,正确的是:dA. 变量可以不定义而直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D.变量可以在定义时进行初绐化5.与x * = y + z等价的赋值表达式是: cA. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z6.C语言源程序的语句结束符是:bA., B.; C.: D. .7.执行表达式k = ( 10>12 ? 15 :6>5 ? 8 :9 )后,变量k的值为:A. 9B. 8C. 15D. 18.以下程序运行后,如果从键盘上输人5,则输出结果是:main( ){int x;scanf("%d",&x);if(x--<5)printf("%d",x);elseprintf("%d",x++);}A、3B、4C、5D、69.语句 continue 的功能是:A.终止本轮循环B.终止本层循环C.终止所有各层循环D.以上都不是10.语句 break 的功能是:A.终止本轮循环B.终止本层循环C.终止所有各层循环D.以上都不是11.在C程序中,若对函数类型未加说明,则该函数的类型是:A. voidB. doubleC. intD. char12.当执行语句 int x,*p;p=&x;x=2;*p=3;之后,变量 x 中存储的数据是:A. 2B. 3C. 5D. 613.字符串"student"在存储单元中占( )个字节.A.6 B.7 C.8 D.914.C语言程序的三种基本结构是( )A.顺序结构,选择结构,循环结构B.递归结构,循环结构,转移结构C.嵌套结构,递归结构,顺序结构D.循环结构,转移结构,顺序结构15.若int x,float y;有语句为:scanf(“x=%d,y=%f”,&x,&y);若要将数据10和66.6分别赋给x和y,正确的输入应当是:A.10 66.6 <回车>B. 10 <回车> 66.6 <回车>C.x=10,y=66.6 <回车>D.x=10 <回车> y=66.6 <回车>16.C语言符号集不包括A.英文字母 B.数字 C.部分标点符号D.汉字17.C语言的数组中第一个元素的下标编号是:A.根据说明语句而定 B.1 C.0 D.不固定18.某个有返回值的函数被调用后,有关函数返回值的几个说法,其中正确的是:A.可以有多个函数返回值B. 只能有一个函数返回值C. 函数返回值的数据类型无法确定D. 函数返回值没有数据类型19.下列结果为整数的表达式是(设有int i;char c;float f;):A.i+f B.i+c+fC.c+f D.i*c20.在C语言的A. do~while循环中,当while后面的表达式值为非零时循环结束B. do~while循环中,当while后面的表达式值为零时循环结束C. do~while语句构成的循环必须用break语句才能退出D.不能使用do~while语句构成的循环21.下述是有关函数实参与形参的几个说法,其中正确的是:A. 函数的实参必须是常量B. 函数的实参必须是变量或数组C. 函数的形参必须是常量D. 函数的形参必须是变量或数组22.下述是函数调用时有关数据传递的几个说法,其中正确的是:A. 调用时不能有数据的传递B. 可以将实参数据传递给形参C. 可以将形参数据回传给实参D. 以上都不对23.下述是函数调用关系的几个说法,其中正确的是:A. 所有函数都可以相互调用B. 所有函数都不能相互调用C. 除主函数外所有函数都可相互调用D. 函数不能自己调用自己24.下述有关符号常量名(宏名)的说法中,正确的是:A. 符号常量名只能用大写字母B. 符号常量名只能用小写字母C. 符号常量名一般用大写字母D. 符号常量名一般用小写字母25.下述有关“文件包含”的说法中,不正确的是:A. 是将另一源程序的内容包含进来B. 一般位于源程序的开头C.一个包含命令只能包含一个文件D. “文件包含”命令也是一个语句26.下述有关“宏定义”的说法中,正确的是:A. 只能定义符号常量B. 只能定义不带参数的宏定义C. 只能定义带有参数的宏定义D. 以上都不对27.若定义a[][3]={0,1,2,3,4,5,6,7,8};则a数组中行的个数是:A.4 B.3C.2 D.无确定值28.下面函数的功能是:void f(char *d,char *s){ while( *d++ = *s++) ; } /*循环体为空语句*/A.串比较B.串复制C.求串长D.串反向29.以下程序运行后,如果从键盘上输人5,则输出结果是:main( ){ int x;scanf("%d",&x);if(x--<5)printf("%d",x);elseprintf("%d",x++);}A、3B、4C、5D、630.设有变量定义 int *p;则以下说法最准确的是:A. p是一个变量B. p是指针变量C. p是一个指向变量的指针变量D. p是一个指向整型变量的指针变量31.C语言是一种A.机器语言 B.汇编语言 C.高级语言 D.以上都不是32.C语言数组中第一个元素的下标是( )A.1 B.0C.根据说明语句而定D.不固定33.C语言源程序的扩展名为( )A..exe B..c C..obj D..doc34.C语言源程序的语句分隔符是( )A., B. . C.: D.;35.若有定义:char *str=“I am a student.” ;则str中存储的是:。

A.字符串的所有字符B.字符串中的第一个字符C.字符串的存储空间D.字符串存储空间的指针36.在C程序中,若对函数返回值的类型未加说明,则该函数返回值的类型是:A. charB. doubleC. voidD. int37.以下正确的说法是:BA.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可嵌套C.函数的定义和调用均不可以嵌套D.函数的定义和调用均可以嵌套38.若使用一位数组名作函数实参,则以下正确的说法是:DA.必须在主调函数中说明此数组的大小B.实参数组类型与形参数组类型可以不匹配C.在被调用函数中,不需要考虑形参数组的大小D.实参数组名与形参数组名必须一致39.C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..obj B..exeC..c D..doc40.若有说明:int *p,m=5,n;以下正确的程序段是:A.p=&n;scanf(“%d”,&p);B.p=&n; scanf(“%d”,*p);C.scanf(“%d”,&n);*p=&n;D.p=&n; *p=m;41.C语言中A.不能使用do~while语句构成的循环B.do~while语句构成的循环必须用break语句才能退出C.do~while中,当while语句中的表达式值为非零时循环结束D.do~while中,当while语句中的表达式值为零时循环结束42.C语言中A.不能使用while语句构成的循环B.while语句构成的循环必须用break语句才能退出C.while中,当while语句中的表达式值为非零时循环结束D.while中,当while语句中的表达式值为零时循环结束43.C语言中while与do~while语句的主要区别是A.do~while的循环体至少无条件执行一次B.do~while允许从外部跳到循环体内C.while的循环体至少无条件执行一次D.while的循环控制条件比do~while的严格44.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种45.C语言中函数形参的缺省存储类型是A.静态(static) B.自动(auto)C.寄存器(register) D.外部(extern)46.表达式(10/3)*3的结果是( )A.10 B.9C.9.99 D.2747.t为int类型,进人下面的循环之前,t的值为0while( t=1 ){ ……}则以下叙述中正确的是( )A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对48.逗号表达式(a=3*5,a+15)中,语句执行后a的值为( )A.60 B.30C.15 D.9049.对于for(表达式1;;表达式3)可理解为( )A.for(表达式1;0;表达式3)B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)struct student{int age;int num;}std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是:A.std.ageB.p->ageC.(*p).ageD.*p.age50.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第( )个元素A.3 B.4C.5 D.651.能正确表达数学关系“0 ≤a≤10”的C语言表达式的是( )A.0 <= a <= 10B.0 <= a || a <= 10C.0 <= a && a <= 10D.以上都不对,C语言无法表示52.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( )A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B.(x>=1) || (x<=10) || (x>=200) || (x<=210)C.(x>=1) && (x<=10) || (x>=200) && (x<=210)D.(x>=1) || (x<=10) && (x>=200) || (x<=210)53.判断char型变量ch是否为大写字母的正确表达式是( )A.(‘A’<= ch <=‘Z’)B.(ch>=‘A’) & (ch<=‘Z’)C.(ch >=‘A’) && (ch <=‘Z’)D.(‘A’<= ch) AND (‘Z’>= ch)54.如果a=1,b=2,c=3则条件表达式a<b? c:a的值为 ( )A.1 B.2C.3 D.455.如果不加花括号表示else与if的配对关系,则else与if的匹配方法是A.else与它上面最远的if配对B.else与它上面最近的if配对C.else与离它最近的if配对D.else与它上面最近的且没有和其他else配对的if配对56.若a, b均为int型变量,x, y均为float型变量,正确的输入函数调用是A.scanf("%d%f",&a,&b);B.scanf("%d%f",&a,&x);C.scanf("%d%d",a,b);D.scanf("%f%f",x,y);57.有以下程序,程序运行后的输出结果是void fun(char *a, char *b){ a=b; (*a)++; }main(){ char c1='A',c2='a',*p1,*p2;p1=&c1; p2=&c2; fun(p1,p2);printf("%c%c\n",c1,c2);}A)Ab B)aa C)Aa D)Bb58.若int x,float y;有语句为:scanf(“x=%d,y=%f”,&x,&y);则将数据10和66.6分别赋给x和y,正确的输入应当是( )A.x=10,y=66.6 <回车>B.10 66.6 <回车>C.10 <回车> 66.6 <回车>D.x=10 <回车> y=66.6 <回车>59.若x为char型变量,y为int型变量,x, y均有值,正确的输出函数调用是( )A.printf("%c%d",x,y);B.printf("%c%c",x,y);C.printf("%d%c",x,y);D.printf("%d%d",x,y);60.设有变量定义 int *p[5];则以下说法中正确的是:A. p是指向整型变量的指针变量名B. p是指向整型数组的指针变量名C. p是指向整型变量的指针数组名D. 以上都不对61.下面程序段的输出结果是:int arr[10]={0,1,2,3,4,5,6,7,8,9},*p,i=2;p=arr; printf("%d",*(p+i));A.0B.2C.3D.162.若已定义int a[2]={6,9},*p=&a[0];假设a[0]的地址为2020,则执行p++后,指针p的值为( )A.2020 B.2021C.2022 D.202363.若已定义int a=1000,*p=&a;则下列说法中不正确的是( )A.*p=a=8 B.p=&aC.*&a=*p D.*&a=&*a64.设int k;则语句for(k=0;k=1;k++);和语句for(k=0;k==1;k++);执行的次数分别是A.无限次和0次B.0次和无限次C.都是无限次D.都是0次65.设int m=1,n=2,则m++==n的结果是( )A.0 B.1C.2 D.3二.判断题1.C源程序不能被计算机直接执行,必须经过编译、连接之后才能被执行。

相关文档
最新文档