




文档简介
1 1.下列四组选项中,均不是 C 语言关健字的选项是(A)。 A) defineB) gectC) includeD) while IFcharscanfgo typeprintfcasepow 2.下面四个选项中,均是合法整型常量的选项是(A)。 A)160B)-0xcdfC) -01D)-0x48a -0xffff01a986,0122e5 0110xe06680x 3.下面四个选项中,均是不合法的转义符的选项是(B)。 A) “B) 1011C) 011D) abc f101 xfAx1f 4.下面不正确的字符串常量是( A)。 A)abcB)“1212“C)“0“D)“ “ 5.以下选项中不合法的用户标识符是(A)。 A)abc.cB)fileC)MainD)PRINT 6.C 语言提供的合法关键字是(D)。 A) swith B) cher C) Case D)default 7.下列标识符组中,合法的用户标识符为A A)_0123 与 ssiped B)del-word 与 signed C)list 与*jer D) keep%与 wind 8.在 C 语言中,逻辑值“真“的表示是用(C)。 A) trueB) 整型值 0C)非另整型值D) T 9 若有以下定义 char s=092; 则该语句(b) A)使 s 的值包含一个字符B)定义不合法,s 的值不确定 C)使 s 的值包含 4 个字符D)使 s 的值包含 3 个字符 10 设 C 语言中,int 类型数据占 2 个字节,则 float 类型数据占( D)个字节。 A)1B)2C)8D)4 11 已知字母 A 的 ASCII 码为十进制数 65,且 c2 为字符型,则执行语句 c2=A+6-3后,c2 中的值 为(A)。 A)DB)68C)不确定的值D)C 12 逻辑运算符两侧运算对象的数据类型是 (D)。 A) 只是 0 或 1B) 只能是 0 或非 0 正数 C) 只能是整型或字符型数据D) 可以是任何合法的类型数据 13TURBO C 中 int 类型变量所占字节数是(B)。 A)1B)2C)3D)4 2 14 在 C 语言中,char 型数据在内存中的存储形式是(D)。 A) 补码B) 反码C) 原码D) ASCII 码 15 若有以下定义,则能使值为 3 的表达式是(D)。 int k=7, x=12; A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5) 16 判断 char 型变量 c1 是否为小写字母的正确表达式为(D)。 A) a=A. printf(“|%-06d|n“,k); A)输出格式描述不合法B)输出为|008567| C)输出为|8567|D)输出为|-08567| 10sizeof(float)是(B)。 A)一个双精度表达式B)一个整型表达式 C)一种函数调用D)一个不合法的表达式 11 在 C 语言中, int、char 和 short 三种类型数据在内存中所占用的字节数(D)。 A)由用户自己定义B)均为 2 个字节 C)是任意的D)由所用机器的机器字长决定 12 判断 char 型变量 c1 是否为小写字母的正确表达式为(D)。 A) a=A. 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) 5 18 若变量已正确定义并赋值,下面符合 C 语言语法的表达式是(B)。 A)a:=a+7;B)a=7+b+cC)int 12.3%4D)a=a+7=a+b 19 逗号表达式(a=3*5,a*4),a+15 的值为(C)。 A)15B)60C)30D)不确定 20 设 Int n=3;则 n+的结果是(B)。 A)2B)3C)4D)5 1 用小数或指数形式输入实数时,在 scanf 函数语句里格式字符为( BCD)。 A)iB)fC)eD)g 2 可以使用(CD)输入字符型数据。 A)putchar(c);B)getchar(c);C)getchar(); D)scanf(“%c“, 1C 语言中数据有常量与变量之分。错 2 一般一个字符变量在内存中占一个字节。对 3C 语言规定,可以在定义变量时,同时使变量初始化。对 4 把 k1、k2 定义成基本整型变量,并赋初值 0 的定义语句是 int k1=k2=0; 。错 5 如果 i 的原值为 3,则:j = + i,j 的值为 3。错 6 凡是表达式都有一个值。 7 输入语句的格式为:scanf(“%d,%d,%d“,a,b,c);是正确的。 错 8 在 scanf(“%d,%*d,%d“,)0)c=a;是正确的。错 11 12printf 函数是一个标准库函数,它的函数原型在头文件“string.h“中。 错 13 在 printf 函数中,格式字符 d 的意义是:以十进制形式输出带符号整数。对 14 在 printf 函数中,输出表列的各输出项之间可用冒号分隔。 错 15 若 int x=3; printf(“%d“,则系统不会报错,会输出 x 的地址。对 16int a=0,b=1,c=2;则表达式 a|b+c则变量 C 中包含的字符个数为(1) 。 2 若有以下定义: int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为 【 1 】 。 (x+y)%2+(int)a/(int)b 3 若 a 是 int 型变量、且 a 的初值为 6,则执行下面表达式后,a 的值为【 -60 】 。a+=a-=a*a 4 若 x 是 int 型变量,则执行下面表达式后,x 的值为【 4 】 。x=a=4,6*2 5 若 a 是 int 型变量,且 a 的初值为 6,则计算表达式后 a 的值为【 -60 】 。a+=a-=a*a 6scanf 函数的地址表列中给出各变量的地址,地址是由【 地址运算符“ char c; float f;)是(b) 。 A)i+fB)i*cC)c+fD)i+c+f 19 设有逗号表达式(a=3*5,a*4),a+15,a 的值为(B)。 A)60B)30C)15D)90 20 设 Int n=3;则有表达式 n+,n 的结果是(C)。 A)2B)3C)4D)5 1 若在 scanf 函数语句中没有非格式字符作输入数据的间隔,则可用( ACD)。 作为输入数据的间隔。 A)空格B)逗号C)TABD)回车 2 使用 scanf 函数时,在源程序开头(ABC)。 A)书写#include “stdio.h“B)书写#include C)不必写#include D)书写#include “scanf.h“ 1C 语言规定标识符只能由字母、数字和小数点三种字符组成。错 2C 语言使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出, 也可以以整数形式输出。 对 3C 语言中定义了一个变量,代表内存中的一个地址。 对 4 表达式 3.5 + 1/2 + 56%10 的计算结果是 7.5 。错 5由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式“。对 6 设 C 语言中, 一个 int 型数据在内存中占 2 个字节, 则 int 数据的取值范围为-32768-32769。 错 7 在使用 scanf 函数之前应包含头文件“math.h“。错 8 在 scanf(“%c%c“, 是正确的对 11printf 函数中的格式字符,既可以是大写形式,也可以是小写形式。错 12 在 printf 函数中,格式字符“%5c“可用来输出 5 个字符。 错 13 在 printf 函数中,格式字符 s 的意义是:输出单个字符。错 8 14在 printf 函数中,输出项可以是任意合法的表达式。对 15算术运算符的优先级别高于关系运算符对 16int a=0,b=1,c=2,x,y; ,则!(x=a) 9 在 C 语言中,表示逻辑“真“值用【 非零数 】 10 若 a=6,b=4,c=2,则表达式!(a-b)+c-1 printf(“%d,%un“,k,k); A)-1,-1B)-1,32767C)-1,32768D)-1,65535 9 设已定义 x 为 double 类型变量 x=213.82631; printf(“%-6.2en“,x); 则以上语句(c)。 A)输出格式描述符的域宽不够,不能输出B)输出为 21.38e+01 C)输出为 2.14e+002D)输出为-2.14e2 10 执行 x=51+2是一个合法的赋值语句。 10C 语言的格式输出函数是 scanf().x 12 使用 printf 函数时,格式控制字符串和各输出项应一一对应。 13 在 printf 函数中,格式字符 f 的意义是:以小数形式输出单精度实数。x 14 在 printf 函数中,转义字符b 的作用是退格。 15 算术运算符的优先级别高于逻辑运算符 16int a=1,b=0,c=1; ,则!(a+b)+c-0 double y; y=(int)(float)x; 2 已知字母 a 的 ASCII 码的十进制代码为 97,且设 ch 为字符型变量,则表达式 ch=a+8-3 的值为【 f 】 。 3 若 s 是 int 型变量,且 s=6,则下面表达式的值为【 1】 。 s%2+(s+1)%2 4 表达式 1.0/2*3 的计算结果是【1.5 】 。 5 当 a=3,b=2,c=1 时,表达式 f=abc 的值是【 0 】. 6getchar 函数是【字符输入】函数。 7 赋值语句是由赋值表达式加上【分号】构成的。 8 在 TC 中,printf()函数输出表列的求值顺序是【】 。 9 设 y 为 int 型变量,请写出描述“y 是奇数“的表达式【 y%2=1 】 10 若 a=2,b=4,则表达式!(x=a)| (y=b) printf(“%dn“,a); A)赋值不合法B)输出值为-2C)输出为不确定值D)输出值为 2 9 已定义 x 为 float 型变量 x=213.82631; printf(“%-4.2fn“,x); 则以上语句(B) A)输出格式描述符的域宽不够,不能输出B)输出为 213.83 C)输出为 213.82D)输出为-213.82 10 用 getchar 函数可以从键盘读入一个(d) A) 整型变量表达式值B) 实型变量值 12 C)字符串D) 字符或字符型变量值 11 已知 intx,y,z;执行语句 x=(y=(z=10)+5)-5;后 x、y、z 的值是(a)。 A) x=10B) x=10C) x=10D) x=10 y=15y=10y=10y=5 z=10z=10z=15z=10 12 设 a 为整型变量,初值为 12,执行完语句 a+=a-=a*a 后,a 的值是 (d)。 A) 552B) 144C) 264D) -264 13 设 x 为 int 型变量,则执行以下语句段后,x 的值为(b)。 A)10B)20C)40D)30 x = 10 ; x += x -= x - x; 14 若有定义,int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是(a)。 A) 2.500000B) 2.750000C) 3.500000D) 0.000000 15 下列运算符中优先级最高的是 (b)。 A) 5) printf(“%dn“,m); else printf(“%dn“,m-); 14 A)7 B)6C)5D)4 2 以下程序的输出结果为( b ) # include main ( ) int i=0, j=0, a=6; if (+i0) printf (“i=%d, j=%d, a=%dn“, i,j,a); A) i=0, j=0, a=6B) i=1, j=1, a=7 C) i=1, j=0, a=7D) i=0, j=1, a=7 3 有如下程序 main() int a=2,b=-1,c=2; if(a12 ? x+10:x-12; printf(“%dn“, y); A) 0B) 22C) 12D) 10 6 以下程序的输出结果是( c ) main() inti=0, j=0, k=6; if (+i0)|(+j0) k+; printf(“%d, %d, %dn“, i, j, k); A) 0, 0, 6B) 1, 0, 7C) 1, 1, 7D) 0, 1, 7 7 若变量都已正确说明,则以下程序段输出为( c ) 15 int a=1,b=2,c=3; if(ab) a=b; b=c; c=a; printf(“a=%d b=%d c=%dn“,a,b,c); A)a=1 b=2 c=1B)a=1 b=2 c=3 C)a=1 b=3 c=1D)a=2 b=3 c=2 8 当 a=1,b=3,c=5,d=4 时,执行完下面一段程序后 x 的值是( b ) if(ay); B)if(x=y) C)if(x!=y)scanf(“%d“,else scanf(“%d“, D)if(x A) abcdeB) abcee 16 C) abbdeD) abccdd 11 若 a、 b、c1、c2、x、y、均是整型变量,正确的 switch 语句是( a ) A) switch(a+b);B) switch(a*a+b*b) case 1:y=a+b; break;case 3: case 0:y=a-b; break;case 1:y=a+b;break; case 3:y=b-a,break; C) switch aD) switch(a-b) case 1 :y=a-b; break case 2: x=a*d; breakcase c1:case 4:x=a+b;break; default:x=a+b;case c2:case 11:y=a-b;break; default:y=a*b;break; 12 写出下面程序输出结果( d ) int x=1, y=0, a=0, b=0; switch(x) case 1: switch(y) case 0: a+; case 1: b+; case 2: a+; b+; printf(“a=%d, b=%dn“, a, b) ; A) a=2, b=1B) a=1, b=1C) a=1, b=0D) a=2, b=2 13C 语言的 for 语句中的表达式可以部分或全部省略,但两个(c)不可省略。但当三个表 达式 均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。 A) main() int y=10; do y-; while(-y); printf(“%dn“,y-); A) -1B) 1C) 8D) 0 21 以下程序段的输出结果是( a). main() int i=5; for ( ;i+y;x=i+)i=x; B) for( ; ;x+=i); C) while(1)x+; D) for(i=10; i-)sum+=i; 18 23 有如下语句 int x=3; do printf(“%dn“,x-=2); while(!(-x); 则上面程序段(b) A. 输出的是 1B. 输出的是 1 和-2 C. 输出的是 3 和 0D. 是死循环 24 以下不是无限循环的是(a) A. for(y=0,x=1;x+y;x=i+) i=x; B. for( ; ;x+=i); C. while(1) x+; D.for(i=10; ;i-) s+=i; 25 以下正确的描述是( b )。 A) continue 语句的作用是结束整个循环的执行 B) 只能在循环体内和 switch 语句内使用 break 语句 C) 在循环体内使用 break 语句或 continue 语句的作用相同 D) 从多层循环嵌套中退出时,只能使用 goto 语句 26 以下程序输出结果为(d ) #include “stdio.h“ main() int i,b,k=0; for(i=1;i=0) k+; printf(“%d,%dn“,k,b); A. 3,-1B. 8,-1C. 3,0D.8,-2 27 以下程序段中循环体总的执行次数是( a ) int i,j; for(i=7;i;i-) for(j=0;j0)s=a+b; if(a0) if(c0)w=a-b; else t=c; printf(“%d,%d,%dn“,s,w,t); 5 阅读下面程序: main() int s, t, a, b; scanf(“%d%d“, s=1; t=1; if(a0) s=s+1; if(ab) t=s+t; elseif (a=b) t=5; 20 elset=2*s; printf(“s=%d, t=%d“, s, t); 6 为了使输出结果 t=4, 输入量 a 和 b 应满足的条件是【 a0 scanf(“%d“, a=2;d=3;sum=0; do sum+=a; a+=d; if (【sum%4=0】) printf(“%dn“,sum); while(sum main ( ) int a=14, b=63; while (a!=b) while (ab) a-=b; while (a main() int i,j,x=0; for(i=0;iB2 3.下面四个选项中,均是不合法的转义符的选项是(B)。 A) “B) 1011C) 011D) abc f101 xfAx1f 4.下面不正确的字符串常量是( A)。 A)abcB)“1212“C)“0“D)“ “ 5.以下选项中不合法的用户标识符是(A)。 A)abc.cB)fileC)MainD)PRINT 6.C 语言提供的合法关键字是(D)。 A) swith B) cher C) Case 22 D) default 7.下列标识符组中,合法的用户标识符为A A)_0123 与 ssiped B)del-word 与 signed C)list 与*jer D) keep%与 wind 8.在 C 语言中,逻辑值“真“的表示是用(C)。 A) trueB) 整型值 0C)非另整型值D) T 9 若有以下定义 char s=092; 则该语句(B) A)使 s 的值包含一个字符B)定义不合法,s 的值不确定 C)使 s 的值包含 4 个字符D)使 s 的值包含 3 个字符 10 设 C 语言中,int 类型数据占 2 个字节,则 float 类型数据占( D)个字节。 A)1B)2C)8D)4 11 已知字母 A 的 ASCII 码为十进制数 65,且 c2 为字符型,则执行语句 c2=A+6-3后,c2 中的值 为(A)。 A)DB)68C)不确定的值D)C 12 逻辑运算符两侧运算对象的数据类型是 (D)。 A) 只是 0 或 1B) 只能是 0 或非 0 正数 C) 只能是整型或字符型数据D) 可以是任何合法的类型数据 13TURBO C 中 int 类型变量所占字节数是(B)。 A)1B)2C)3D)4 14 在 C 语言中,char 型数据在内存中的存储形式是(D)。 A) 补码B) 反码C) 原码D) ASCII 码 15 若有以下定义,则能使值为 3 的表达式是(D)。 int k=7, x=12; A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5) 16 判断 char 型变量 c1 是否为小写字母的正确表达式为(D)。 A) a=A. printf(“|%-06d|n“,k); A)输出格式描述不合法B)输出为|008567| C)输出为|8567|D)输出为|-08567| 10sizeof(float)是( b )。 A)一个双精度表达式B)一个整型表达式 C)一种函数调用D)一个不合法的表达式 11 在 C 语言中, int、char 和 short 三种类型数据在内存中所占用的字节数( d )。 A)由用户自己定义B)均为 2 个字节 C)是任意的D)由所用机器的机器字长决定 12 判断 char 型变量 c1 是否为小写字母的正确表达式为( d)。 A) a=A. 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) 18 若变量已正确定义并赋值,下面符合 C 语言语法的表达式是( B)。 A)a=a+7;B)a=7+b+c,a+C)int 12.3%4D)a=a+7=a+b 19 逗号表达式(a=3*5,a*4),a+15 的值为(c)。 A)15B)60C)30D)不确定 20 设 Int n=3;则 n+的结果是(b )。 A)2B)3C)4D)5 1 用小数或指数形式输入实数时,在 scanf 函数语句里格式字符为( bcd )。 A)iB)fC)eD)g 2 可以使用( bcd )输入字符型数据。 A)putchar(c);B)getchar(c);C)getchar(); D)scanf(“%c“, 1C 语言中数据有常量与变量之分。对 2 一般一个字符变量在内存中占一个字节。对 3C 语言规定,可以在定义变量时,同时使变量初始化。对 4 把 k1、k2 定义成基本整型变量,并赋初值 0 的定义语句是 int k1=k2=0; 。错 5 如果 i 的原值为 3,则:j = + i,j 的值为 3。错 6 凡是表达式都有一个值。对 7 输入语句的格式为:scanf(“%d,%d,%d“,a,b,c);是正确的。对 8 在 scanf(“%d,%*d,%d“,)0)c=a;是正确的。错 26 11 12printf 函数是一个标准库函数,它的函数原型在头文件“string.h“中。错 13 在 printf 函数中,格式字符 d 的意义是:以十进制形式输出带符号整数。 对 14 在 printf 函数中,输出表列的各输出项之间可用冒号分隔。错 15 若 int x=3; printf(“%d“,则系统不会报错,会输出 x 的地址。对 16int a=0,b=1,c=2;则表达式 a|b+c则变量 C 中包含的字符个数为(1) 。 2 若有以下定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为【 】 。(x+y)%2+(int)a/(int)b 3 若 a 是 int 型变量、且 a 的初值为 6,则执行下面表达式后,a 的值为【 60 】 。a+=a-=a*a 4 若 x 是 int 型变量,则执行下面表达式后,x 的值为【 】 。x=a=4,6*2 5 若 a 是 int 型变量,且 a 的初值为 6,则计算表达式后 a 的值为【 60 】 。a+=a-=a*a 6scanf 函数的地址表列中给出各变量的地址,地址是由【 运算符“ char c; float f;)是(B) 。 A)i+fB)i*cC)c+fD)i+c+f 19 设有逗号表达式(a=3*5,a*4),a+15,a 的值为(C)。 A)60B)30C)15D)90 28 20 设 Int n=3;则有表达式 n+,n 的结果是(C)。 A)2B)3C)4D)5 1 若在 scanf 函数语句中没有非格式字符作输入数据的间隔,则可用( ACD)。 作为输入数据的间隔。 A)空格B)逗号C)TABD)回车 2 使用 scanf 函数时,在源程序开头(ABC)。 A)书写#include “stdio.h“B)书写#include C)不必写#include D)书写#include “scanf.h“ 1C 语言规定标识符只能由字母、数字和小数点三种字符组成。 2C 语言使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出, 也可以以整数形式输出。 对 3C 语言中定义了一个变量,代表内存中的一个地址。 对 4 表达式 3.5 + 1/2 + 56%10 的计算结果是 7.5 。错 5由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式“。对 6 设 C 语言中, 一个 int 型数据在内存中占 2 个字节, 则 int 数据的取值范围为-32768-32769。 错 7 在使用 scanf 函数之前应包含头文件“math.h“。错 8 在 scanf(“%c%c“, 是正确的 对 11printf 函数中的格式字符,既可以是大写形式,也可以是小写形式。 错 12 在 printf 函数中,格式字符“%5c“可用来输出 5 个字符。错 13 在 printf 函数中,格式字符 s 的意义是:输出单个字符。错 14在 printf 函数中,输出项可以是任意合法的表达式。对 15算术运算符的优先级别高于关系运算符对 16int a=0,b=1,c=2,x,y; ,则!(x=a) 9 在 C 语言中,表示逻辑“真“值用【 非零数 】 10 若 a=6,b=4,c=2,则表达式!(a-b)+c-1 printf(“%d,%un“,k,k); A)-1,-1B)-1,32767C)-1,32768D)-1,65535 9 设已定义 x 为 double 类型变量 x=213.82631; printf(“%-6.2en“,x); 则以上语句(C)。 A)输出格式描述符的域宽不够,不能输出B)输出为 21.38e+01 C)输出为 2.14e+02D)输出为-2.14e2 10 执行 x=51+2是一个合法的赋值语句。对 10C 语言的格式输出函数是 scanf().错 12 使用 printf 函数时,格式控制字符串和各输出项应一一对应。错 13 在 printf 函数中,格式字符 f 的意义是:以小数形式输出单精度实数。错 31 14 在 printf 函数中,转义字符b 的作用是退格。对 15 算术运算符的优先级别高于逻辑运算符对 16int a=1,b=0,c=1; ,则!(a+b)+c-0 double y; y=(int)(float)x; 2 已知字母 a 的 ASCII 码的十进制代码为 97,且设 ch 为字符型变量,则表达式 ch=a+8-3 的值为【 f 】 。 3 若 s 是 int 型变量,且 s=6,则下面表达式的值为【 1 】 。 s%2+(s+1)%2 4 表达式 1.0/2*3 的计算结果是【 1.5 】 。 5 当 a=3,b=2,c=1 时,表达式 f=abc 的值是【 0 】. 6getchar 函数是【】函数。 7 赋值语句是由赋值表达式加上【;】构成的。 8 在 TC 中,printf()函数输出表列的求值顺序是【】 。 9 设 y 为 int 型变量,请写出描述“y 是奇数“的表达式【 y%2!=0 】 10 若 a=2,b=4,则表达式!(x=a)| (y=b) else printf(“%dn“,m-); A)7 B)6C)5D)4 2 以下程序的输出结果为( b ) # include main ( ) int i=0, j=0, a=6; if (+i0) printf (“i=%d, j=%d, a=%dn“, i,j,a); A) i=0, j=0, a=6B) i=1, j=1, a=7 C) i=1, j=0, a=7D) i=0, j=1, a=7 3 有如下程序 main() int a=2,b=-1,c=2; if(a12 ? x+10:x-12; printf(“%dn“, y); A) 0B) 22C) 12D) 10 6 以下程序的输出结果是( c ) main() inti=0, j=0, k=6; if (+i0)|(+j0) k+; printf(“%d, %d, %dn“, i, j, k); A) 0, 0, 6B) 1, 0, 7C) 1, 1, 7D) 0, 1, 7 7 若变量都已正确说明,则以下程序段输出为(c) int a=1,b=2,c=3; if(ab) a=b; b=c; c=a; printf(“a=%d b=%d c=%dn“,a,b,c); A)a=1 b=2 c=1B)a=1 b=2 c=3 C)a=1 b=3 c=1D)a=2 b=3 c=2 8 当 a=1,b=3,c=5,d=4 时,执行完下面一段程序后 x 的值是( b) if(ay); B)if(x=y) C)if(x!=y)scanf(“%d“,else scanf(“%d“, D)if(x A) abcdeB) abcee C) abbdeD) abccdd 11 若 a、 b、c1、c2、x、y、均是整型变量,正确的 switch 语句是( a ) A) switch(a+b);B) switch(a*a+b*b) case 1:y=a+b; break;case 3: case 0:y=a-b; break;case 1:y=a+b;break; case 3:y=b-a,break; C) switch aD) switch(a-b) case 1 :y=a-b; break case 2: x=a*d; breakcase c1:case 4:x=a+b;break; default:x=a+b;case c2:case 11:y=a-b;break; default:y=a*b;break; 12 写出下面程序输出结果( d ) int x=1, y=0, a=0, b=0; switch(x) case 1: switch(y) 37 case 0: a+; case 1: b+; case 2: a+; b+; printf(“a=%d, b=%dn“, a, b) ; A) a=2, b=1B) a=1, b=1C) a=1, b=0D) a=2, b=2 13C 语言的 for 语句中的表达式可以部分或全部省略,但两个( c )不可省略。但当三个表达式 均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。 A) main() int y=10; do y-; while(-y); printf(“%dn“,y-); A) -1B) 1C) 8D) 0 21 以下程序段的输出结果是(a). main() int i=5; for ( ;i+y;x=i+)i=x; B) for( ; ;x+=i); C) while(1)x+; D) for(i=10; i-)sum+=i; 23 有如下语句 int x=3; do printf(“%dn“,x-=2); while(!(-x); 则上面程序段(b) A. 输出的是 1B. 输出的是 1 和-2 C. 输出的是 3 和 0D. 是死循环 24 以下不是无限循环的是(a) A. for(y=0,x=1;x+y;x=i+) i=x; B. for( ; ;x+=i); C. while(1) x+; D.for(i=10; ;i-) s+=i; 25 以下正确的描述是( b )。 A) continue 语句的作用是结束整个循环的执行 B) 只能在循环体内和 switch 语句内使用 break 语句 C) 在循环体内使用 break 语句或 continue 语句的作用相同 D) 从多层循环嵌套中退出时,只能使用 goto 语句 26 以下程序输出结果为(d) #include “stdio.h“ main() int i,b,k=0; 39 for(i=1;i=0) k+; printf(“%d,%dn“,k,b); A. 3,-1B. 8,-1C. 3,0D.8,-2 27 以下程序段中循环体总的执行次数是(a ) int i,j; for(i=7;i;i-) for(j=0;j0)s=a+b; if(a0) if(c0)w=a-b; else t=c; printf(“%d,%d,%dn“,s,w,t); 5 阅读下面程序: main() int s, t, a, b; scanf(“%d%d“, s=1; t=1; if(a0) s=s+1; if(ab) t=s+t; elseif (a=b) t=5; elset=2*s; printf(“s=%d, t=%d“, s, t); 6 为了使输出结果 t=4, 输入量 a 和 b 应满足的条件是【a0】 7 下面程序的功能是在输入的一批整数中求出最大者,输入 0 结束循环。 #include main() int a,max=0; scanf(“%d“, 41 a=2;d=3;sum=0; do sum+=a; a+=d; if (【sum%4=0】) printf(“%dn“,sum); while(sum main ( ) int a=14, b=63; while (a!=b) while (ab) a-=b; while (a main() int i,j,x=0; for(i=0;i0?1:x0) y=1;B) if(x) else if(x0)y=1; else y=0;else if(x=0) if(x0)y=1;if(x0)y=1; else if(x=0)y=0;else y=-1; else y=-1; 若执行以下程序时从键盘上输入 9,则输出结果是( c) main() int n; scanf(“%d“, if(n+=85“); case B: case C: printf(“=60“); case D: printf(“=85B) =60C) =60D) error. main() int num=0; while(num main( ) 45 int y=10; while (y-); printf (“y=%dn“, y); A. y=0B. 无限循环,无结果输出 C. y=1D.y=-1 设有程序段 int x=0,s=0; while(!x!=0)s+=+x; printf(“%d“,s); 则( d )。 A) 运行程序段后输出 0B) 运行程序段后输出 1 C) 程序段中的控制表达式是非法的D) 程序段执行无限次 下面程序段的运行结果是( a )。 a=1;b=2;c=2; while(a main() int a=1,b=10; do b-=a; a+; while(b-100) break; B) for( ; ; ); C) int k=0; do +k;while(k=0); D) int s=36; while(s) ;-s; 下面程序段( d )。 for(t=1;t=0 时什么也不输出 C) printf 函数永远也不执行 D) 最多允许输出 100 个非负整数 以下为死循环的程序段是( c)。 A) for(i=1; ; ) if (+i%2=0) continue; if (+i%3=0) break; B) i=32767; do if(i main() int i,b,k=0; for(i=1;i=0)k+; printf(“%d,%d“,k,b); 47 A) 3,-1B) 8,-1C) 3,0D) 8,-2 语句 if(a) x=1;与 if(a=0)x=1;等价 switch 语句中的 default 分支一定放在最后错 while 语句 do-while 语句无论什么情况下,二者的执行结果都一样。错 C 语言的 while、do-while 和 for 几个循环语句,可以进行相互嵌套。对 do-while 语句构成的循环只能用 break 语句退出。错 for( ; ; ) 循环体 永远是一个死循环。错 要使 for(表达式 1;表达式 2;表达式 3)循环体不形成死循环,表达式 2 一定不能为空。错 while 循环和 do-while 循环的 while()后一定要有一个分号。对 C 语言程序的三种基本结构是嵌套结构、递归结构、顺序结构。错 C 语言中 while 与 do-while 语句的主要区别是 do-while 的循环体至少无条件执行一次。 对 语句x=3; do printf(“%2d“,x-);while(!x); 的执行结果是 3。对 以下循环 for (i=0; i,则以下程序的运行结果是【0.600000】 main() floatx,y; char o; double r; scanf(“%f%f%c“,break; case -:r=x-y;break; case *:r=x*y;break; case /:r=x/y;break; printf(“%f“,r); 当运行下面程序时,从键盘键入 right?,则下面程序的运行结果是【sjhiu】 。 #include main() char c; while(c=getchar()!=?) putchar(+c); 下面程序段的运行结果是【*】 。 x=2; do printf(“*“); x-; while(!x=0) 当运行以下程序时,从键盘键入 1 2 3 4 5 -1 ,则下面程序的运行结果是【14 -1】 。 #include main() int k=0,n; do scanf(“%d“, k+=n; while(n!=-1); printf(“k=%dn=%dn“,k,n); 下面程序段的运行结果是【 -1】 。 for( a=1,i=-1;-1=10)break; if (x%2=1) x+=5; continue; x-=3; C 语言(分支和循环结构)三 若 w = 1, x = 2, y=3, z=4, 则条件表达式 wx? w : y=60)printf(“Cn“); else printf(“Dn“); A) AB) BC) CD) D 选择运行结果为 4 的表达式( 题目有错 ) A) int i=0, j=0; 50 (i=3,(j+)+i); B) int i=1, j=0; j=i=(i=3)*2); C) int i=0, j=1; i=(j=1)?(i=1):(i=3); D) inti=1,j=1; i+=j=2; 以下程序段输出为( a ) int a=1,b=2,c=3; if(ab)a=b, b=c; c=a; printf(“a=%d b=%d c=%dn“,a,b,c); A)a=1 b=2 c=1B)a=1 b=2 c=3 C)a=1 b=3 c=1D)a=2 b=3 c=2 请问读以下程序: main() int a=5,b=0,c=0; if(a=b+c)printf(“ elseprintf(“#“); 以上程序(d ) A)有语法错不能通过编译B)可以通过编译但不能连接 C)输出 if(x100)break; B. for(;); C. int k=1000; do-k while (k) D. int s=36 While(s=0);+s; 语句 while (!e);中的条件!e 等价于( a )。 A) e=0;B) e!=1C) e!=0D) e 在 C 语言中( d )。 A) 不能使用 do_while 语句构成的循环 B) do_while 语句构成的循环必须用 break 语句才能退出 C) do_while 语句构成的循环,当 while 语句中的表达式为非 0 时结束循环 D) do_while 语句构成的循环,当 while 语句中的表达式为 0 时结束循环 有如下程序 52 #include main() while(putchar(getchar()!=?); 当输入“china?“时,程序的执行结果是( d )。 A) chinaB) dijobC) dijob?D) china? 定义如下变量: int n=25; 则下列循环的输出结果是( b )。 While(n22) n-; printf(“%dn“,n); A) 22B) 24C) 23D) 1 2123222 2022210 下列程序段的运行结果是(b) x=y=0; while(xbc) t=a;a=b;b=t;c- printf(“%d,%d,%dn“,a,b,c); A)1,2,0B)2,1,0C)1,2,1D. 2,1,1 case 后如果有多语句不需要用花括号括住。对 case 语句后一定要加 break 语句错 continue 语句的功能就是结束本层循环。错 C 语言的 while、do-while 和 for 几个循环语句中,for 循环语句最灵活、功能最强。对 用 do-while 语句构成循环时,只有在 while 后的表达式为非 0 时结束循环。错 for(表达式 1;表达式 2;表达式 3)中,表达式 1 和表达式 3 可以同时都为逗号表达式。 对 for 后的一对圆括号中,可以出现各种形式的与循环控制无关的表达式。对 while 循环和 do-while 循环的 while()后一定不能加上一个分号。错 若 i 为整型变量,则以下循环 i=0; while(i=0)i+;一次也不执行。对 执行语句 for(i=1;+i7) n-;printf(“%d “,n); 以下程序的运行结果是【 a=0b=1 】 main() int a,b; int i=5,j=7,k=0; a=k b=k|j; printf(“a=%d b=%dn“,a,b); 阅读下列程序 main() int t,h,m; scanf(“%d“, h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安吉环境安全培训课件
- 安利女性三养课件
- 安全骑行培训心得课件
- 海螺公司安全培训总结课件
- 网签版银行借款合同模板6篇
- 2026届江苏省苏州昆山、太仓市英语九年级第一学期期末联考模拟试题含解析
- 安全驾驶培训课程方案课件
- 2026届安徽省合肥市九上化学期中质量跟踪监视模拟试题含解析
- 作业治疗的考试题及答案
- 安全驾驶培训效果评价课件
- 3.2《参与民主生活 》- 课件 2025-2026学年度道德与法治九年级上册 统编版
- 福建省三明市2026届高三上学期8月月考语文试卷(含答案)
- 监控安全知识培训课件
- 5-1 安全协议概述(1)-安全协议内涵
- 公共供水管网漏损治理建设项目可行性研究报告
- T-YYTC 008-2024 吉林长白山灵芝孢子粉
- 中央ppp项目管理办法
- 手术后盆腔脓肿查房
- 舞蹈教学教学课件
- 2024版电网公司反事故措施(2024版)
- 退伍军人离队安全教育培训纲要
评论
0/150
提交评论