《C语言测试题 .pdf》由会员分享,可在线阅读,更多相关《C语言测试题 .pdf(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 单项选择以下程序的执行结果是_. main() int w = 1, x = 2, y = 3, z = 4; w =( w x ) ? x : w; w =( w y ) ? y : w; w =( w z ) ? z : w; printf( %d , w ); A、2 B、4 C、3 D、1 答案: B 若有说明 :int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。A、n=*q; B、 p=q; C、p=n; D、*p=*q; 答案: C 题号: 5820 以下程序的输出结果是void prtv(int *x) printf(“%dn”, +*x); main()
2、int a = 25; prtv(&a); A、24 B、26 C、23 D、25 答案: B 题号: 6988 以下程序的输出结果是main() int a = 2, b =5; printf(“a=%d,b=%dn”,a, b); A、a=%2,b=%5 B、a=%d,b=%d C 、a=%d,b=%d D、 a=2,b=5 答案: C 题号: 6976 语句 printf(abrehiyboun);的输出结果是( 说明 :b是退格符 ) ()。A、abrehiybou B、rehiyou C、abrehiybou D、abrehiybou 答案: B 题号: 166 名师资料总结 - -
3、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 48 页 - - - - - - - - - 2 以下关于运算符优先顺序的描述中正确的是()。A、关系运算符算术运算符 赋值运算符 逻辑运算符B、赋值运算符逻辑运算符 关系运算符 算术运算符C、算术运算符关系运算符 赋值运算符 逻辑运算符D、逻辑运算符关系运算符 算术运算符 赋值运算符答案: B 题号: 333 下列语句的结果是()。main() int j; j=3; printf(%d,+j); printf(%d,j+); A、3,4 B
4、、4,4 C、4,3 D、 3,3 答案: B 题号: 457 设a和b均为 double 型变量,且 a=5.5 、b=2.5 ,则表达式 (int)a+b/b的值是A、6.000000 B、5.500000 C、6 D、6.500000 答案: A 题号: 523 若有定义 :int a=7;float x=2.5,y=4.7; 则表达式 x+a%3*(int)(x+y)%2/4的值是()。A、3.500000 B、0.000000 C、2.750000 D、2.500000 答案: D 题号: 855 若有以下程序段:int a=3,b=4; a=ab;b=ba;a=ab;则执行以上语句
5、后, a和b的值分别是()。A、a=4,b=4 B、a=3,b=3 C、a=3,b=4 D、a=4,b=3 答案: D 判断若有说明 int c;则while(c=getchar();是正确的 C语句。答案:正确C语言中 %运算符的运算对象必须是整型. 答案:正确c程序总是从程序的第一条语句开始执行.答案:错误名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 48 页 - - - - - - - - - 3 假设有 int a10, *p;则p=&a0 与p=a等价答案:正
6、确#define 和printf 都不是 C语句。答案:正确C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。答案:正确十进制数 15的二进制数是 1111.答案:正确x*=y+8 等价于 x=x*(y+8)。答案:正确若有 int i=10,j=2;则执行完 i*=j+8;后的值为 28。答案:错误关系运算符 = 与 = 的优先级相同。答案:错误填空以下程序段的输出结果是_。int i = 0, sum = 1; do sum += i+; while( i 5); printf(“%dn”, sum);答案:空 1: 11 表达式 3.5 + 1 / 2的计算结果是_。答案:空
7、 1: 3.5 以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入 100,给a输入 25.81,给x输入 1.89234时的三种可能的输入形式_、_、_。int k; flaot a; double x; scanf(“%d%f%lf”, &k, &a, &x);printf(“k = %d, a = %f, x = %fn”, k, a, x);答案:空 1: 100 25.81 1.8923 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页
8、,共 48 页 - - - - - - - - - 4 空 2: 100 25.81 1.8923 空 3: 100 25.81 1.8923 阅读下面程序,程序执行后的输出结果为_。#include stdio.h main() char a,b; for(a=0,b=9;ab;a+,b-)printf (%c%c,a,b); printf (n); 答案:空 1: 0918273645 以下程序的输出结果是_。unsigned fun6(unsigned num) unsigned k = 1; do k *= num % 10; num /= 10; while( num); retur
9、n k; main() unsigned n = 26; printf(“%dn”, fun6(n); 答案:空 1: 12 下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出 0. 请填空。main() int i, x, y=1; scanf (%d, &x ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 48 页 - - - - - - - - - 5 for (i=2; ic*2 b!=5| ! (1/2 )中, a、b、 c的定义和赋
10、值为Int a=3,b=4,c=2;则表达式的值为_。答案:空 1: 1 单项选择能正确表示逻辑关系: a 10或a0 的C语言表达式是A、a=0 | a=10 or a=10 & a=10 | a=0 答案: D 设有定义: int n=0,*p=&n,*q=&p,则下列选项中正确的赋值语句是A、*p=5; B、 *q=2; C、p=1; D、q=p; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 48 页 - - - - - - - - - 6 答案: A 可在 C
11、程序中用作标识符的一组标识符是A、2c DO SiG B、void Define WORD C、as_b3 _123 If D、For -abc case 答案: C 以下运算符中,优先级最高的运算符是()。A、= B、| C、! D、% 答案: C 以下关于 long 、int 和short 类型数据占用内存大小的叙述中正确的是A、由 C语言编译系统决定 B、均占 4个字节C、由用户自己定义 D、根据数据的大小来决定所占内存的字节数答案: A 以下程序段给数组所有元素输入数据,应在下划线处填入的是main() int a10, i = 0; while(i =y&ch2)/(b1)的值是()
12、。A、8 B、2 C、0 D、4 答案: C C语言中不可以嵌套的是()。A、选择语句 B、循环语句 C、函数调用 D、函数定义答案: D 判断若i =3 ,则 printf(%d,-i+);输出的值为 -4 。答案: 错误7&3+12的值是 15。答案:错误名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 48 页 - - - - - - - - - 7 语句 printf(%f%,1.0/3);输出为 0.333333 。答案:错误a=(b=4)+(c=6) 是一个合法
13、的赋值表达式。答案:正确如果有一个字符串,其中第十个字符为n,则此字符串的有效字符为9个。答案:错误若有 int =10, j=0;则执行完语句 if (j=0)+ +; else - -; 的值为 11。答案:错误参加位运算的数据可以是任何类型的数据。答案:错误题号: 6167 表达式 (j=3, j+) 的值是 4.答案:错误函数 strlen(ASDFGn)的值是 7。答案:错误#define 和printf 都不是 C语句。答案:正确填空当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_、最小十进制整数是_,它们的二进制形式是_。答案:空 1: 65535 空 2: -3
14、2768 空 3: 1111 1111 1111 1111,1000 0000 0000 0000 表达式( int )(double )(5/2 )+2.5)的值是 _.答案:空 1: 4 若有以下定义:char a=” ABCD ” , b=” abcd” ; if(strcmp(a,b)=0) printf(“ YESn” ); else 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 48 页 - - - - - - - - - 8 printf(“ NOn” )
15、; 执行结果是 _ 。答案:空 1: 无结果【或】语法错误【或】语法错误 (strcmp(a,b)=0) 以下程序的执行结果是_。main() int a, b, *p = &a, *q = &b; a = 10; b = 20; *p = b; *q = a; printf(“ a = %d, b = %dn” , a, b); 答案:空 1: a = 20, b = 20 若有以下定义 :double w10; 则w数组元素下标的上限是_, 下限是_。答案:空 1: 9 空 2: 0 C语言中用 _表示逻辑真,用_表示逻辑假。答案:空 1: 非0 空 2: 0 以下程序段的输出结果是_。i
16、nt *var, ab; ab = 100; var = &ab; ab = *var + 10; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 48 页 - - - - - - - - - 9 printf(“%dn”, *var);答案:空 1: 110 以下程序段的输出结果是_、_、_、_double a = 513.789215; printf(“a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lfn” , a, a, a,
17、 a);答案:空 1: a = 513.789215 空 2: a = 513.79 空 3: a = 513.78921500 空 4: a = 513.78921500 若有定义: int a=8 ,b=5,c 执行语句 c=a/b+0.4 后,c的值为 _答案:空 1: 1 表达式 3.5 + 1 / 2的计算结果是_。答案:空 1: 3.5 单项选择以下程序段的输出结果为()。 for(i=4;i1;i-) for(j=1;ji;j+) putchar(#); A、# B、无 C、# D、 # 答案:A 以下能正确进行字符串赋值的语句是名师资料总结 - - -精品资料欢迎下载 - -
18、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 48 页 - - - - - - - - - 10 A、char s5 = “ good! ” ; B、char s5 = ,a?, ,e?, ,i ?, ,o?, ,u?; C、char s5; s = “ good! ” ; D、char *s; s = “ good! ” ; 答案: D 以下程序段的输出结果为()。 char c=abc; int i=0; do ;while(ci+!=0);printf(%d,i-1); A、abc B、3 C、ab D、2 答案
19、: B 以下选项中合法的用户标识符是_。A、_2Test B、long C、A.dat D、3Dmax 答案: A 设有定义 :int n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是()。A、p=1; B、*p=5; C、*q=2; D、q=p; 答案: B 若已定义 x为int 类型变量,下列语句中说明指针变量p的正确语句是()。A、int *p=&x; B、int p=&x; C、*p=*x; D、int *p=x; 答案: A 题号: 5227 以下程序的输出结果是void sub(int x, int y, int *z) *z = y - x; main() int
20、a, b, c; sub(10, 5, &a); sub(7, a, &b); sub(a, b, &c); printf(“%d, %d, %dn”, a, b, c); A、-5, -12, -7 B、-5, -12, -17 C、5, -2, -7 D、5, 2, 3 答案: A 以下选项中正确的实型常量是A、0.03x102 B、32 C、 3.1415 D、0 答案: B int a10; 给数组 a的所有元素分别赋值为1、2、3、的语句是()。A、for(i=1;i11;i+)ai+1=i; B、for(i=1;i11;i+)ai-1=i; C、for(i=1;i11;i+)ai=
21、i; D、for(i=1;i11;i+)a0=1; 答案: B 以下对整型数组a的正确说明是:A、int n = 10, an; B、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 48 页 - - - - - - - - - 11 C、D、int a(10); 答案: C 判断若有 int i=10,j=2;则执行完 i*=j+8;后的值为 28。答案:错误一个 include 命令可以指定多个被包含的文件。答案:错误进行宏定义时,宏名必须使用大写字母表示。答案:错误
22、逻辑表达式 -5&!8 的值为 1.答案:错误若有宏定义: #define S(a,b) t=a;a=b;b=t由于变量 t 没定义,所以此宏定义是错误的。答案:错误关系运算符 = 与 = 的优先级相同。答案:错误若有定义和语句:int a;char c;float f;scanf(%d,%c,%f,&a,&c,&f); 若通过键盘输入:10,A,12.5,则a=10,c=A,f=12.5.答案:正确如果有一个字符串,其中第十个字符为n,则此字符串的有效字符为9个。答案:错误在Turbo C 中,整型数据在内存中占2个字节。答案:错误C语言中 %运算符的运算对象必须是整型.答案:正确填空以下程
23、序的输出结果是_。main() int x = 2; while ( x- ); printf(“%dn”, x); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 48 页 - - - - - - - - - 12 答案:空 1: -1 以下程序的执行结果是_。main() int k=8; switch(k) case 9: k+=1; case 10: k+=1; case 11: k+=1; break; default: k+=1; printf(%dn,k
24、); 答案:空 1: 9 若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给 w、x、y、z分别输入10、 20、30、40,正确的输入形式是_。请用 代表 Enter键。scanf(“ %d%c%d%c%d%c%d%c”, &w, &a, &x,&b, &y, &c, &z, &d);答案:空 1: 10A20B30C40D 以下程序的输出结果是_。#define PR(ar) printf(“ar = %d “, ar)main() int j, a = 1, 3, 5, 7, 9, 11, 13, 15, *p = a + 5; for(j = 3; j ; j-) swit
25、ch( j ) case 1: case 2: PR(*p+); break; case 3: PR(*(-p) ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 48 页 - - - - - - - - - 13 答案:空 1: ar=9 ar=9 ar=11 以下程序的输出结果是_。main() int x=100, a=10, b=20, ok1=5, ok2=0; if (ab)if (b!=15)if(!ok1 )x=1; else if(ok2)x=10
26、; else x=-1; printf (%dn, x);答案:空 1: -1 以下程序的输出结果是_。#define PR(ar) printf(“ar = %d “, ar)main() int j, a = 1, 3, 5, 7, 9, 11, 13, 15, *p = a + 5; for(j = 3; j ; j-) switch( j ) case 1: case 2: PR(*p+); break; case 3: PR(*(-p) ); 答案:空 1: ar = 9 ar = 9 ar = 11 阅读下面程序,则执行后程序的结果为_。#include stdio.h main(
27、) int a=0,b=0; while (a15)a+; while (b+15); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 48 页 - - - - - - - - - 14 printf(%d,%dn,a,b ); 答案:空 1: 15, 16 在C语言程序中,用关键字_定义基本整型变量,用关键字_定义单精度实型变量,用关键字_定义双精度实型变量。答案:空 1: int 空 2: float 空 3: double 题号: 2758 若x为double型变
28、量,请写出运算x = 3.2, +x 后表达式的值_和变量的值 _。答案:空 1: 4.2 空 2: 4.2 题号: 5076 以下程序的输出结果是_。main() int a=0; a+=(a=8); printf (%dn,a); 答案:空 1: 16 单项选择以下选项中不合法的用户标识符是A、file B、wb-1 C、PRINTF D、Main 答案: B 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 48 页 - - - - - - - - - 15 题号:
29、 978 若变量已正确定义, 执行语句 scanf(%d,%d,%d ,&k1,&k2,&k3);时,_ 是正确的输入A、20 30 40 B、2030,40 C、20, 30 40 D、20,30,40 答案: D 题号: 1957 C语言中 , 逻辑 真等价于A、非零的整数 B、大于零的整数 C、非零的数 D、大于零的数答案: C 题号: 3823 若有 int i=3,*p;p=&i;下列语句中输出结果为3的是()。A、printf(%d,p); B、printf(%d,&p); C、printf(%d,*i); D、printf(%d,*p); 答案: D 题号: 6941 在C语言中
30、,要求运算数必须是整型或字符型的运算符是()。A、| B、& C、& D、! 答案: B 题号: 3801 以下程序的输出结果是main() int x, i; for(i = 1; i = 100; i+) x = i; if( +x % 2 = 0) if( +x % 3 = 0 ) if( +x % 7 = 0) printf(“%d “, x); printf(“n”); A、28 70 B、39 81 C、42 84 D、26 68 答案: A 题号: 2330 宏定义 #define PI 3.14中的宏名 PI代替A、不确定类型的数 B、一个单精度实数 C、一个字符串 D、一个双
31、精度实数答案: C 题号: 345 下列程序的输出结果是()。main() int a=7,b=5; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 48 页 - - - - - - - - - 16 printf(%dn,b=b/a); A、不确定值 B、1 C、5 D、0 答案: D 题号: 1803 有以下程序main() int i = 10, j = 1; printf(%d,%dn,i-, +j); 执行后输出结果是A、10,1 B、9,2 C、9,1 D、
32、10,2 答案: D 题号: 3217 int a10;合法的数组元素的最小下标值为()。A、1 B、0 C、10 D、9 答案: B 判断两个字符串中的字符个数相同时才能进行字符串大小的比较。答案:错误若有定义和语句:int a;char c;float f;scanf(%d,%c,%f,&a,&c,&f); 若通过键盘输入:10,A,12.5,则a=10,c=A,f=12.5.答案:正确在Turbo C 中,整型数据在内存中占2个字节。答案:错误C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。答案:正确如果有一个字符串,其中第十个字符为n,则此字符串的有效字符为9个。答案:错
33、误参加位运算的数据可以是任何类型的数据。答案:错误一个 include 命令可以指定多个被包含的文件。答案:错误十进制数 15的二进制数是 1111.答案:正确字符处理函数 strcpy(str1,str2)的功能是把字符串1接到字符串 2的后面 .答案:错误名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 48 页 - - - - - - - - - 17 x*=y+8 等价于 x=x*(y+8)。答案:正确填空以下程序段的输出结果是_。printf(“ %dn”, s
34、trlen(“s 0end”);答案:空 1: 3 以下程序的输出结果是_。main() int x=100, a=10, b=20, ok1=5, ok2=0; if (ab)if (b!=15)if(!ok1 )x=1; else if(ok2)x=10; else x=-1; printf (%dn, x);答案:空 1: -1 以下程序的输出结果是_。fun( int x ,int *s) int f1, f2; if( n = 1 | n = 2) *s = 1; else fun( n - 1, &f1) ; fun(n - 2, &f2); *s = f1 + f2; main(
35、) int x; fun(6, &x); printf(“%dn”, x ); 答案:空 1: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 48 页 - - - - - - - - - 18 8 ( 用跟踪程序运行的方法观察递归的过程) 【或】 8 若变量已正确定义,以下语句段的输出结果是_。x = 0; y = 2; z = 3; switch(x) case 0: switch( y = 2) case 1: printf ( “* ” ); break;cas
36、e 2: printf(“ % ”); break; case 1: switch( z ) case 1: printf(“ $”);case 2: printf(“ * ”); break;default : printf(“#”); 答案:空 1: *# 以下程序段的输出结果是_。int i = 0, sum = 1; do sum += i+; while( i 5); printf(“%dn”, sum);答案:空 1: 11 若x为double型变量,请写出运算x = 3.2, +x 后表达式的值 _和变量的值 _。答案:空 1: 4.2 空 2: 4.2 组成 C程序的基本单位是
37、 _ ,其组成部分包括_和_。答案:空 1: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 48 页 - - - - - - - - - 19 函数空 2: 函数首部空 3: 函数体以下程序的执行结果是_。 #define DOUBLE(r) r*r main() int y1 = 1, y2 = 1, t; t = DOUBLE(y1 + y2); printf(“ %dn” , t); 答案:空 1: 3 若变量 x、y已定义为 int 类型且 x的值为 99,y
38、的值为 9,请将输出语句printf(_ ,x/y);补充完整,使其输出的计算结果形式为:x/y=11答案:空 1: x/y=%d 通常一个字节包含_个二进制位。在一个字节中能存放的最大十进制整数是_,它的二进制数的形式是_;最小十进制整数是_,它的二进制形式是_。答案:空 1: 8 空 2: 255 空 3: 1111 1111 空 4: -128 空 5: 1000 0000 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 48 页 - - - - - - - -
39、- 20 单项选择有定义 :char*p1,*p2;则下列表达式中正确合理的是A、p1/=5 B、 p1+=5 C、p1=&p2 D、p1*=p2 答案: C 若有定义 :int *p3;,则以下叙述中正确的是()。A、定义了一个名为*p的整型数组,该数组含有三个int 类型元素B、定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int 类型元素C、定义了一个指针数组p,该数组含有三个元素, 每个元素都是基类型为int 的指针D、定义了一个基类型为int 的指针变量 p,该变量具有三个指针答案: C C语言中,定义结构体的保留字是()。A、struct B、union C、enum
40、 D、typedef 答案: A 设 char *s=ta017bc;则指针变量 s指向的字符串所占的字节数是()。A、7 B、6 C、9 D、5 答案: B 以下程序的输出结果是main() int a = 1, 2, 3, 4, i, x = 0; for(i = 0; i 4; i+) sub(a, &x); printf(“%d ”, x); pritnf(“n”); sub(int *s, int *y) static int t = 3; *y = st; t-; A、4 4 4 4 B、0 0 0 0 C、1 2 3 4 D、4 3 2 1 答案: D 以下叙述正确的是:A、用
41、do-while构成循环时,只有在while 后的表达式为非零时结束循环B、do-while语句构成的循环不能用其它语句构成的循环来代替。C、用 do-while构成循环时,只有在while 后的表达式为零时结束循环D、do-while语句构成的循环只能用break 语句退出。答案: C 对两个数组 a和b进行如下初始化:char a = “ ABCDEF ” ; char b = ,A?, ,B? , ,C? , ,D?, ,E?,F?; 则以下叙述正确的是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
42、- - - - - 第 20 页,共 48 页 - - - - - - - - - 21 A、a与b中都存放字符串 B、a数组比 b数组长度长C、a与b长度相同 D、a与b完全相同答案: B 以下数值中,不正确的八进制数或十六进制数是()。A、-16 B、0 x16 C、16 D、 0 xaaaa 答案: A 对于基本类型相同的两个指针变量之间,不能进行的运算是()。A、+ B、 c) b = a; a = c; c = b; 答案:空 1: 3 空 2: 2 空 3: 2 下列程序的执行结果是_。int d = 1; fun(int p) int d = 5; d += p+; pritnf
43、(“%d “, d); main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 48 页 - - - - - - - - - 23 int a = 3; fun(a); d += a+; printf(“%dn”, d); 答案:空 1: 8 4 以下程序的输出结果是_。double sub(double x, double y, double z) y -= 1.0; z = z + x; return z; main() double a = 2.5, b =
44、 9.0; printf(“%fn”, sub(b - a, a, b); 答案:空 1: 15.500000 以下程序段的输出结果是_。int k, n, m; n = 10; m = 1; k = 1; while( k y)if (xz)printf(%d,x ); else printf(%d,y ); printf(%dn,z ); 答案:空 1: 3 函数体由符号_开始,用符号_结束。答案:空 1: 空 2: 若k为int型变量且赋值 11,请写出运算k+后表达式的值_和变量的值_。答案:空 1: 11 空 2: 12 将下列数学式改写成C语言的关系表达式或逻辑表达式是 A)_B)
45、_。A)a=b或a4答案:空 1: a=b | a4 【或】 x4 对以下数学式,写出三个等价的C语言表达式是_、_、_ cba答案:空 1: a/c/b 【或】 a/(b*c) 【或】 a/b/c 空 2: a/c/b 【或】 a/b/c 【或】 a/(b*c) 空 3: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 48 页 - - - - - - - - - 25 a/b/c 【或】 a/c/b 【或】 a/(b*c) 单项选择变量 p为指针变量,若p=&a,下
46、列说法不正确的是()。A、*(p+)=a+ B、&*p=&a C、 (*p)+=a+ D、 *&a=a 答案: A 题号: 6651 C语言允许函数类型缺省定义,此时函数值隐含的类型是()。A、long B、float C、int D、double 答案: C 题号: 6993 若已定义 x和y为double 类型,则表达式 x=1,y=x+3/2 的值是()。A、1 B、2.0 C、2.5 D、2 答案: B 题号: 6988 以下程序的输出结果是main() int a = 2, b =5; printf(“a=%d,b=%dn”,a, b); A、a=%2,b=%5 B、a=%d,b=%
47、d C 、a=%d,b=%d D、 a=2,b=5 答案: C 题号: 5659 若有定义 int a10,*p=a;,则p+5表示A、元素 a5 的地址 B、元素 a6 的地址C、元素 a6 的值 D、元素 a5 的值答案: A 题号: 6490 若有说明 :int *p,m=5,n;以下正确的程序段是()。A、scanf(%d,&n);*p=n; B、p=&n;*p=m; C、p=&n;scanf(%d,*p) D、p=&n;scanf(%d,&p); 答案: B 题号: 6073 下列程序的输出结果为()。main() int m=7,n=4; float a=38.4,b=6.4,x;
48、 x=m/2+n*a/b+1/2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 48 页 - - - - - - - - - 26 printf(%fn,x); A、28.000000 B、27.500000 C、 28.500000 D、27.000000 答案: D 题号: 401 以下所列的 C语言常量中,错误的是()。A、72 B、 0 xFF C、2L D、1.2e0.5 答案: D 题号: 1684 int a=1,b=2,c=3; if(ac)b=a;
49、a=c;c=b;则c的值为()。A、3 B、2 C、不一定 D、1 答案: B 题号: 961 C语言中 while 和 do-while 循环的主要区别是()。A、while 的循环控制条件比 do-while的循环控制条件更严格 B、do-while 的循环体至少无条件执行一次C、do-while 的循环体不能是复合语句 D、do-while 允许从外部转到循环体内答案: B 判断= 题号: 3927 两个字符串中的字符个数相同时才能进行字符串大小的比较。答案:错误题号: 5124 7&3+12的值是 15。答案:错误题号: 3721 语句 printf(%f%,1.0/3);输出为 0.
50、333333 。答案:错误题号: 3862 如果函数值的类型和return 语句中表达式的值不一致,则以函数类型为准。答案:正确题号: 6755 若i =3 ,则 printf(%d,-i+);输出的值为 -4 。答案:错误名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 48 页 - - - - - - - - - 27 题号: 4579 通过 return 语句,函数可以带回一个或一个以上的返回值。答案:错误题号: 2440 int i,*p=&i;是正确的 C说明。