c语言程序设计基础单项选择题库_第1页
c语言程序设计基础单项选择题库_第2页
c语言程序设计基础单项选择题库_第3页
c语言程序设计基础单项选择题库_第4页
c语言程序设计基础单项选择题库_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分类: 一、 概念(13-51,54,55) 、数据类型、输入输出格式、转义符、运算及表达式等: 1 - 66 二、 选择语句:67 - 72 (其中 67 为条件运算,72 可归于一类) ; 三、 循环语句:73 - 102 (其中 78 为输出格式可归于一类) 四、 数组:103 - 133 (其中 123 125 为与数组相关的函数调用) 五、 函数调用:134 - 156 六、 文件:157 183 七、 指针:184 - 195 八、 结构体:196 - 207(204.205,206 为函数调用) 1、在 C 语言中,最基本的数据类型包括 (A) 整型、实型、字符型 (B) 整型、实型、逻辑型 (C) 整型、字符型、逻辑型 (D) 实型、字符型、逻辑型 2 C 语言中整常数的书写形式不能使用的数制形式是 (A) 十进制 (B) 十六进制 (C) 八进制 (D) 二进制 3 字符串常量“abncde125“包含字符的个数是 (A) 8 (B) 12 (C) 9 (D) 13 4 C 语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 (A) 必须为下划线 (B) 可以是这三种字符中的任一种 (C) 必须为字母或下划线 (D) 必须为字母 5 下列是用户自定义标识符的是 (A) #x (B) _x (C) 2x (D) int 6 在 C 语言中,下列常数不能作为常量的是 (A) 0xA3 (B) 068 (C) 5.6E-3 (D) 2e5 7 在 C 语言中,运算对象必须是整型的运算符是 (A) % (B) = (C) ,则表达式 x+ * 1 / 6 的值是 (A) 1 (B) 2 (C) 3 (D) 4 10 如果在一个 C 语言表达式中有多个运算符,则运算时应该 (A) 只考虑优先级 (B) 只考虑结合性 (C) 先考虑优先级,然后考虑结合性 (D) 先考虑结合性,然后考虑优先级 11 在 C 程序中,下面叙述不正确的是 (A) x 和 X 是两个不同的变量 (B) 从键盘输入数据时,对整型变量只能输入整型数据, 对于实型变量只能输入实型数据 (C) 逗号运算符的优先级最低 (D) 若 x、y 类型相同,则执行语句 y = x,后,将把 x 的值 放入 y 中,而 x 的值不变 12 已知字符 A 的 ASCII 值为 65,若定义 int i;,则执行语句 i = A + 3.5;后,正确的叙述是 (A) i 的值是字符 E (B) 语句不合法 (C) i 的值是字符 A 的 ASCII 值加上 3,即 68 (D) i 的值是字符 A 的 ASCII 值加上 3.5,即 68.5 13 C 语言是计算机高级语言,它适合作为系统描述语言,它 (A) 不以用来编写系统软件,可以用来编写应用软件 (B) 不以用来编写系统软件,不可 以用来编写应用软件 (C) 可以用来编写系统软件,不可以用来编写应用软件 (D) 可以用来编写系统软件, 也可以用来编写应用软件 14 在纸上写好一个 C 语言程序后,上机运行的基本步骤为 (A) 编辑、连接、编译、运行 (B) 编译、连接、编辑、运行 (C) 编译、编辑、连接、运行 (D) 编辑、编译、连接、运行 15 用 C 语言等高级语言编写的程序称为 (A) 可执行程序 (B) 编译程序 (C) 目标程序 (D) 源程序 16 一个 C 语言源程序经过“编译程序”翻译后生成一个二进制代码文件,它的扩展名为 (A) .dat (B) .exe (C) .c (D) .obj 17 通过“连接程序”软件,把 C 语言目标程序与 C 语言提供的各种库函数连接起来生成一个 文件,它的扩展名为 (A) .exe (B) .dat (C) .obj (D) .c 18 下面叙述中正确的是 (A) 在 C 语言程序中,要调用的函数必须在 main()函数中定义 (B) C 语言程序总是从 main()函数开始执行 (C) C 语言程序总是从第一个函数开始执行 (D) 在 C 语言程序中,main()函数必须放在 程序的开始位置 19 在一个 C 语言源程序中,main()函数的位置 (A) 必须在其他所有的函数之后 (B) 可以在任意位置 (C) 必须在其他所有的函数之前 (D) 必须在固定位置 20 一个 C 语言程序由 (A) 若干个过程组成 (B) 若干个子程序组成 (C) 一个主程序和若干个子程序构成 (D) 一个主函数和若干个子函数构成 21 一个函数的组成有 (A) 函数的声明部分和执行部分 (B) 函数名、函数类型、函数参数名、函数参数类型 (C) 主函数和子函数 (D) 函数首部和函数体 22 下面叙述不正确的是 (A) 在程序中任意合适的地方都可以加上注释以便阅读 (B) C 语言中的每条执行语句 都需要用分号结束 (C) include 命令所在行后面需要加分号 (D) C 语言具有高级语言的功能,也具有低级语 言的一些功能 23 下面叙述正确的是 (A) 在 C 程序中,main()函数的位置必须在其他所有的函数之前 (B) C 语言自身没有输入 输出语句 (C) 在 C 程序的编译过程中可以发现注释中的拼写错误 (D) C 程序的每一行只能写一 条语句 24 在 C 语言中,用来表示“取地址”的符号是 (A) $ (B) # (C) (D) int b; float c; double d;,则表达式 a * b + d - c 的值的类型是 (A) float (B) int (C) char (D) double 43 在以下一组运算符中,优先级最高的运算符是 (A) = 10 or a = 10 | a = 10 | a = 10 if (x 20) printf(“%d“, x); if (x 30) printf(“%d“, x); (A) 23 (B) 2323 (C) 232323 (D) 都不正确 69 下面程序代码段的输出结果是 int a=15, b=10, c=20, d; d = a 12 ? b : c; switch(d) case 5: printf(“%d,“, a); case 10: printf(“%d,“, b); case 20: printf(“%d,“, c); default: printf(“#n“); (A) 15,10,20,# (B) 10,20,# (C) 10,20 (D) 10 70 下面程序代码段的输出结果是 int a=2, b=3, c=1; switch(c) case 0: a+; case 1: a+; b+; case 2: b+; printf(“a=%d,b=%dn“, a, b); (A) a=3,b=5 (B) a=3,b=4 (C) a=4,b=4 (D) a=4,b=5 71 关于为什么要学习 C 语言,以下描述错误的是 (A) C 语言早就过时了,应该学习最流行的语言。 (B) 通过对 C 语言的学习,可以培养工 程推理和解决问题的能力。 (C) C 语言是结构化程序设计语言,是面向对象程序设计的基础。 (D) 非计算机专业同 学学习 C 语言,可以培养使用计算机解决问题的思维和能力。 72 执行了以下程序段后 x,w 的值为 int x=0, y=1, z=2, w; if (x+) w = x; else if (x+ else if (x+ (A) 0,1 (B) 1,1 (C) 2,1 (D) 3,2 73 下列语句中,错误的是 (A) while (x = y) 5; (B) do x+ while (x = 10); (C) while (0) ; (D) do 2; while (a = b); 74 若有整型变量 i,j,则以下程序段中内循环体 “printf(“ok“);”的循环次数为 for (i=5; i; i-) for (j=0; j= 10) break; if (x % 2 = 1) x += 5; continue; x -= 3; (A) 2 (B) 4 (C) 6 (D) 8 81 设 i,j,k 均为整型变量,则执行如下语句后,k 的值为 for (i=0, j=10; i= 10) break; if (b % 3 = 1) b += 3; continue; printf(“%dn“, a); (A) 101 (B) 6 (C) 5 (D) 4 85 以下程序段中,while 循环执行的次数是 int k =0; while (k = 1) k+; (A) 无限次 (B) 有语法错误,不能执行 (C) 一次也不执行 (D) 执行一次 86 以下程序段执行后,输出结果是 int i, sum=0; for (i=1; i8; y=i) printf(“%d %d “, x-, y); (A) 10 10 9 0 (B) 10 1 9 2 (C) 9 8 7 6 (D) 10 9 9 0 89 以下程序段的输出结果是 int i; for (i=1; i3; j-) if (j % 3) j-; -j; -j; printf(“%d “, j); (A) 6 3 (B) 7 4 (C) 6 2 (D) 7 3 95 以下程序段的输出结果是 int x, i; for (i=1; i 2); printf(“%dn“, j); (A) 52 (B) 25 (C) 54 (D) 48 99 以下程序段运行时,如果从键盘输入 1298 再回车,则输出结果为 int n1, n2; scanf(“%d“, while (n2 != 0) n1 = n2 % 10; n2 = n2 / 10; printf(“%d“, n1); (A) 8921 (B) 1298 (C) 1 (D) 9 100 以下程序段的输出结果是 int x=0, y=5, z=3; while (z- 0 else s += k; printf(“k=%d,s=%d“, k, s); (A) k=4,s=6 (B) k=6,s=6 (C) k=4,s=7 (D) k=4,s=4 102 以下程序段运行时,若输入 c2470f?再回车,则输出结果是 char ch; long number = 0; while (ch = getchar() 6); while (ch!= ? void swap2(int c0, int c1); int main(void) int a2=3, 5, b2=3, 5; swap1(a); swap2(b0, b1); printf(“%d %d %d %dn“, a0, a1, b0, b1); return 0; void swap1(int c) int t; t = c0; c0 = c1; c1 = t; void swap2(int c0, int c1) int t; t = c0; c0 = c1; c1 = t; (A) 5 3 3 5 (B) 5 3 5 3 (C) 3 5 3 5 (D) 3 5 5 3 124 下列程序运行后的输出结果是 #include void sort(int a, int n); int main(void) int aa10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; sort(aa, 10); for (i=0; i void f(int a, int i, int j); int main(void) int i, aa5 = 1, 2, 3, 4, 5; f(aa, 0, 4); for(i=0; i int function(int a, int b); int main(void) int x=5, y=3, s; s = function(x, y); printf(“%dn“, s); return 0; int function(int a, int b) return a*a - b*b; (A) 2 (B) 8 (C) 16 (D) 32 149 下面程序的输出结果是 #include long func(int n); int main(void) printf(“%ldn“, func(5); return 0; long func(int n) if (n 2) return func(n-1) + func(n-2); else return 1; (A) 5 (B) 6 (C) 7 (D) 8 150 下面程序的输出结果是 #include int zdgys(int x, int y); int main(void) int a=27, b=15, c; c = zdgys(a, b); printf(“%dn“, c); return 0; int zdgys(int x, int y) int w; while (y) w = x % y; x = y; y = w; return x; (A) 2 (B) 3 (C) 4 (D) 5 151 下面程序的输出结果是 #include double func(int x, int y, int z); int main(void) double x; int a=3, b=4, c=5; x = func(a, b, c); printf(“%fn“, x); return 0; double func(int x, int y, int z) double t; t = x % y * z; return t; (A) 3 (B) 3.000000 (C) 15 (D) 15.000000 152 下面程序的输出结果是 #include int func(void); int main(void) int i, s; for (i = 0; i int max(int x, int y); /函数功能:求两数中的较大数 int main(void) int a, b, c; scanf(“%d, %d“, c = _; printf(“max is %d“, c); return 0; int max(int x, int y) int z; if (x y) z = x; else z = y; return z; (A) max(a, b) (B) max( (C) max(x, y) (D) int max(int a, int b) 154 下面程序中应该补充(填写在横线位置 )的代码中,有错的是 #include _ int main(void) int a, b, c; scanf(“%d, %d“, c = min(a, b); printf(“min is %d“, c); return 0; /函数功能:求两数中的较大数 int min(int x, int y) int z; z = x int x1=30, x2=40; void sub(int x, int y); int main(void) int x3=10, x4=20; sub(x3, x4); sub(x2, x1); printf(“%d,%d,%d,%dn“, x3, x4, x1, x2); return 0; void sub(int x, int y) x1 = x; x = y; y = x1; (A) 10,20,40,40 (B) 20,10,40,30 (C) 20,10,40,40 (D) 10,20,30,40 156 下面程序的输出结果是 #include void increment(void); int main(void) increment(); increment(); increment(); return 0; void increment(void) int x = 0; x += 1; printf(“%d “, x); (A) 1 1 1(B) 1 2 3 (C) 1 (D) 3 3 3 157 在 C 语言中,下面关于文件的存取方式正确的叙述是 (A) 只能从文件的开头存取 (B) 可以顺序存取,但不可以随机存取 (C) 不可以顺序存取,但可以随机存取 (D) 可以顺序存取,也可以随机存取 158 下列关于 C 语言数据文件的叙述中正确的是 (A) 文件由 ASCII 码字符序列组成, C 语言只能读写文本文件 (B) 文件由二进制数据序 列组成,C 语言只能读写二进制文件 (C) 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 (D) 文件由 数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 159 在 C 语言中,读写操作时需要进行转换的文件是 (A) 二进制文件 (B) 文本文件 (C) 二进制文件和文本文件都需要转换 (D) 二进制文件和文本文件都不需要转换 160 在 C 语言中,下面关于文件操作正确的叙述是 (A) 对文件操作时,必须先检查文件是否存在,然后再打开文件 (B) 对文件操作时需 要先打开文件 (C) 对文件操作时需要先关闭文件 (D) 对文件操作时打开和关闭文件的顺序没有要求 161 为了进行写操作而打开二进制文件 wr.dat 的正确写法是 (A) fp = fopen(“wr.dat“, “r“); (B) fp = fopen(“wr.dat“, “w“); (C) fp = fopen(“wr.dat“, “rb“); (D) fp = fopen(“wr.dat“, “wb“); 162 下面的语句中,将 fp 定义为文件型指针的是 (A) file fp; (B) file *fp; (C) FILE fp; (D) FILE *fp; 163 以下要作为 fopen 函数中第一个参数的正确格式是 (A) “c:usertext.txt“ (B) “c:usertext.txt“ (C) “usertext.txt“ (D) “c:usertext.txt“ 试题讲评 字符常量反斜线()的书写形式是(转义符方式) 164 若执行 fopen 函数时发生错误,则函数的返回值是 (A) 0(NULL) (B) 1 (C) -1(EOF) (D) 地址值 165 当顺利执行了文件关闭操作时,fclose 函数的返回值是 (A) -1 (B) 1 (C) TRUE (D) 0 166 如果不能实现文件“打开”的任务,fopen 函数将会带回一个出错信息。以下对出错原因 描述错误的是 (A) 用“r“ 方式打开一个并不存在的文件 (B) 磁盘出故障 (C) 磁盘已满无法建立新文件 (D) 用“w“方式打开文件时,没有先建立文件 167 在 C 语言中,标准库函数 fread(buf, size, count, fp)中参数 buf 的含义是 (A) 一个指针,指向要读入数据的存放地址 (B) 一个文件指针,指向要读的文件 (C) 一个整型变量,代表要读入的数据总数 (D) 一个存储区,存放要读的数据项 试题讲评 size:要读写的字节数;count :要读写多少个数据项(每个数据项的长度为 size) 。 168 在 C 语言中,标准库函数 fwrite(buf, size, count, fp)的功能是 (A) 从 buf 所指向的文件中读取长度为 size 的 count 个数据项存入 fp 起始的内存 (B) 从 fp 所指向的文件中读取长度为 size 的 count 个数据项存入 buf 起始的内存 (C) 把 buf 起始的内存中长度为 size 的 count 个数据项输出到 fp 所指向的文件中 (D) 把 fp 起始的内存中长度为 size 的 count 个数据项输出到 buf 所指向的文件中 169 下面程序的功能是 #include #include int main(void) FILE *fp1, *fp2; fp1 = fopen(“c:xxxfile.c“, “r“); if (NULL = fp1) printf(“cannot open file in disk c!n“); exit(1); fp2 = fopen(“d:file.c“, “w“); if (NULL = fp2) printf(“cannot open file in disk d!n“); fclose(fp1); exit(2); while(!feof(fp1) fputc(fgetc(fp1), fp2); printf(“copy success!n“); fclose(fp1); fclose(fp2); return 0; (A) 将 c 盘 xxx 子目录下 file.c 文件复制到 d 盘 xxx 子目录下 file.c 文件中 (B) 将 d 盘 xxx 子目录下 file.c 文件复制到 c 盘 xxx 子目录下 file.c 文件中 (C) 将 c 盘根目录下 file.c 文件复制到 d 盘 xxx 子目录下 file.c 文件中 (D) 将 c 盘 xxx 子目 录下 file.c 文件复制到 d 盘根目录下 file.c 文件中 170 当已存在一个 abc.txt 文件时,执行函数 fopen(“abc.txt“, “r+“)的功能是 (A) 打开 abc.txt 文件,清除原有的内容 (B) 打开 abc.txt 文件,只能写入新的内容 (C) 打开 abc.txt 文件,只能读取原有内容 (D) 打开 abc.txt 文件,可以读取和写入新的 内容 171 fopen(filename, mode)函数的 mode 取值“r“和“w“ 时,它们之间的差别是 (A) “r“可向文件输入, “w“不可向文件输入 (B) “r“不可向文件输入, “w“可向文件输入 (C) “r“不可由文件输出, “w“可由文件输出 (D) 文件不存在时,“r“建立新文件,“w“ 出 错 172 若用 fopen 函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是 (A) “ab+“ (B) “wb+“ (C) “rb+“ (D) “ab“ 试题讲评 “rb+“:为了读和写,打开一个二进制文件,若指定文件不存在则出错;“wb+“ :为了读和 写,打开一个新的二进制文件,若指定文件不存在,则建立新文件。 173 fread(buf, 64, 2, fp)的功能是 (A) 从 fp 文件流中读出整数 64,并存放在 buf 中 (B) 从 fp 文件流中读出整数 64 和 2, 并存放在 buf 中 (C) 从 fp 文件流中读出 64 字节的字符,并存放在 buf 中 (D) 从 fp 文件流中读出 2 个 64 字节的字符,并存放在 buf 中 174 以下程序的功能是 #include #include int main(void) FILE *fp; char str = “HELLO“; fp = fopen(“CON“, “w“); if (NULL = fp) printf(“file open error!n“); exit(1); fputs(str, fp); fclose(fp); return 0; (A) 在屏幕上显示 HELLO (B) 在打印机上打印出 HELLO (C) 把 HELLO 存入 CON 文件中 (D) 都不对 作为输出设备时,CON 是标准输出设备显示器的文件名,是 dos 的保留字。 175 C 语言中文件的格式化输入输出函数对是 (A) fscanf/fprintf (B) fread/fwrite (C) fgets/fputs (D) fgetc/fputc 176 C 语言中文件的数据块输入输出函数对是 (A) fread/fwrite (B) fscanf/fprintf (C) fgetc/fputc (D) fgets/fputs 177 feof(fp)函数用来判断文件是否结束,如果未遇到文件结束,函数值为 (A) 0 (B) 1 (C) 非零 (D) false 178 fgetc 函数的作用是从指定文件读入一个字符,关于对应文件的打开方式,不正确的是 (A) 只读 (B) 只写 (C) “r“ (D) 读写 179 若调用 fputc 函数输出字符成功,则其返回值是 (A) 0 (B) 1 (C) EOF (D) 输出的字符 180 fseek 函数的功能是 (A) 改变文件位置的指针位置(即下一次读写操作从文件的什么位置开始 ) (B) 使文件位置 指针重新置于文件开头 (C) 返回文件位置指针的当前值 (D) 关闭文件 181 以下程序的功能是 #include #include int main(void) FILE *fp; char ch; fp = fopen(“filename.txt“, “w“); if (NULL = fp) printf(“file open error!“); exit(1); while (ch=getchar() != ) fputc(ch ,fp); putchar(ch); fclose(fp); return 0; (A) 把从键盘输入的字符依次输出到名为 filename.txt 的磁盘文件中(用作为输入结束标 志) ,同时在屏幕上显示这些字符。 (B) 把从键盘输入的字符依次输出到名为 filename.txt 的磁盘文件中(用作为输入结束标志) 。 (C) 把从键盘输入的字符输出到屏幕(用作为输入结束标志) 。 (D) 从名为 filename.txt 的磁盘文件中读入字符(用作为输入结束标志) ,并在屏幕上显示这些字符。 182 下面程序的功能是将数组 str 的 4 个元素写到名为 filename.dat 的二进制文件中。程序中需 要补充的语句是 #include #include int main(void) FILE *fp; char str = “abcd“; fp = fopen(“filename.dat“, “wb“); if (NULL = fp) printf(“file open error!“); exit(1); _ fclose(fp); return 0; (A) fwrite(str, sizeof(char), 4, fp); (B) fwrite(fp, sizeof(char), 4, str); (C) fread(str, sizeof(char), 4, fp); (D) fwrite(str0, sizeof(char), 1, fp); 183 下面的程序执行后,文件 file.txt 中的内容是 #include #include #include void fun(char *fname, char *st); int main(void) fun(“file.txt“, “How are you!“); fun(“file.txt“, “Fine, thank you!“); return 0; void fun(char *fname, char *st) FILE *fp; int len, i; fp = fopen(fname, “w“); if (NULL = fp) printf(“file open error!“); exit(1); len = strlen(st); for (i=0; i成员名 (A) 只能用 1 或 2 表示 (B) 只能用 1 或 3 表示 (C) 只能用 2 或 3 表示 (D) 三种形式均可 200 以下程序在 VC6.0 下运行后的输出结果为 #include struct dt char a4; int b; double c; data; int main(void) printf(“%dn“, sizeof(struct dt); return 0; (A) 4 (B) 8 (C) 16 (D) 3 201 若有以下定义,则对变量 student1 中“生日”的正确赋值方式是 struct student int num; char name20, sex; struct int year, month, day; birthday; ; struct student student1; (A) student1.birthday.year = 2003; student1.birthday.month = 5; student1.birthday.day = 1; (B) year = 2003; month = 5; day = 1; (C) birthday.year = 2003; birthday.month = 5; birthday.day = 1; (D) student1.year = 2003; student1.month = 5; student1.day = 1; 202 若有以下定义,则下面各输出语句中能输出字母 J 的是 struct student int num; char name20; ; struct student school10000 = 1001, “Mike“, 1002, “James“, 1003, “Tom“; (A) printf(“%c“, 0); (B) printf(“%c“, 0); (C) printf(“%c“, 0); (D) printf(“%c“, ); 203 若有以下定义,则下面各输入语句中不正确的是 struct student int num; char name20; char sex; float score; student1, *p = (A) scanf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论