C语言选择题86759

合集下载

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C2. 下列哪个选项是C语言的关键字?A. defineB. intC. integerD. float答案:B3. 以下哪个语句不能通过编译?A. int a = 10;B. int b = 10.5;C. int c = 'a';D. int d = 1.0;答案:B4. C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sin()D. sum()答案:D(注意:sum()不是C语言标准库函数,这里假设它是一个自定义函数)5. 以下哪个选项是正确的C语言数组声明?A. int numbers[];B. int numbers[10] = {};C. int numbers = 10;D. int [10] numbers;答案:B6. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\"World"答案:A7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. myFunction();D. int myFunction()答案:A8. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C9. 在C语言中,以下哪个是正确的逻辑运算符?A. &&B. ||C. ||D. ++答案:A10. 下列哪个选项是C语言的预处理指令?A. #includeB. defineC. ifD. else答案:A二、简答题(每题5分,共20分)1. 请简述C语言中数组和指针的区别。

c语言考试题库及答案

c语言考试题库及答案

c语言考试题库及答案C语言考试题库及答案一、选择题1. 在C语言中,以下哪个是正确的数据类型?A. IntegerB. RealC. CharD. All of the above答案:D2. 以下哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable!$D. None of the above答案:B3. 在C语言中,以下哪个运算符用于取模?A. %B. /C. *D. -答案:A4. 以下哪项是C语言中数组的正确声明?A. int array[10];B. int [10] array;C. Both A and BD. None of the above答案:C5. 在C语言中,以下哪个是正确的函数定义?A. void myFunction();B. int myFunction;C. int myFunction();D. None of the above答案:C二、填空题6. C语言中,用于定义常量的关键字是________。

答案:const7. 在C语言中,如果需要在程序中包含标准输入输出库,需要使用________预处理指令。

答案:#include <stdio.h>8. 以下代码段的输出结果是________。

```cint main() {int a = 10;printf("%d", a);return 0;}```答案:109. 在C语言中,字符串的结束标志是________。

答案:'\0'10. 以下代码段中,循环将执行________次。

```cint i;for(i = 0; i < 10; i++) {// ...}```答案:10三、简答题11. 解释C语言中指针的概念。

答案:指针是存储另一个变量地址的变量。

在C语言中,指针允许程序员直接操作内存地址,这增加了程序的灵活性和效率。

C语言测试题(附有详细解析)

C语言测试题(附有详细解析)

C语言测试题(附有详细解析)一、选择题1. 下面哪个选项是C语言的合法标识符?A. voidB. 2varC. intD. _temperature解析:C语言的标识符必须以字母或下划线开头,后面可以跟字母、数字或下划线。

选项A和C是C语言的关键字,不能作为标识符。

选项B以数字开头,不合法。

选项D符合标识符的规则,是正确的。

2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. intC. doubleD. char解析:在C语言中,关键字`int`用于定义整型变量。

选项A 用于定义浮点型变量,选项C用于定义双精度浮点型变量,选项D用于定义字符型变量。

因此,正确答案是B。

3. 下面哪个选项是C语言中的逻辑运算符?A.++B. &&C. ||D. !=解析:C语言中的逻辑运算符包括`&&`(逻辑与)和`||`(逻辑或)。

选项A是自增运算符,选项D是不等于运算符,因此正确答案是B和C。

二、填空题4. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++);return 0;}```解析:这段代码的输出是5。

在`printf`语句中,`x++`是后缀自增运算符,它先输出x的当前值5,然后x的值增加1。

因此,输出为5。

5. 下面代码的输出是什么?```c#include <stdio.h>int main() {int x = 5, y = 10;printf("%d\n", x > y ? x : y);return 0;}```解析:这段代码的输出是10。

条件运算符`?:`是一个三元运算符,它根据第一个表达式的值来选择第二个或第三个表达式。

在这个例子中,`x > y`是假的,所以输出是`y`的值,即10。

c语言考试题及答案原创

c语言考试题及答案原创

c语言考试题及答案原创一、选择题1. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _nameB. name2C. 2ndNameD. name$答案:D3. C语言中,用于声明一个函数的关键字是:A. defineB. functionC. voidD. int答案:C二、填空题1. 在C语言中,用于定义一个整型变量的关键字是____。

答案:int2. C语言中,用于定义一个浮点型变量的关键字是____。

答案:float3. 在C语言中,用于定义一个字符型变量的关键字是____。

答案:char三、简答题1. 请简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以作为指向数组首元素的指针使用。

指针可以用于访问数组元素,也可以用于数组的遍历。

2. 解释C语言中宏定义的作用。

答案:宏定义在C语言中用于创建一个符号常量,它允许程序员使用一个名字来代表一个字符串。

宏定义通常用于定义常量值,以便于代码的维护和修改。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```答案:该程序通过循环遍历1到100的整数,检查每个数是否为偶数,如果是,则累加到变量`sum`中,最后输出100以内所有偶数的和。

2. 编写一个C语言程序,实现字符串反转。

```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```答案:该程序定义了一个`reverseString`函数,用于反转传入的字符串。

c语言编程测试题及答案

c语言编程测试题及答案

c语言编程测试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言注释方式?A. // 这是注释B. /* 这是注释 */C. /* 这是注释 */D. // 这是注释答案:B3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable-2D. variable_2答案:D5. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. ||C. &D. %答案:C6. 下列哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[] = {"Hello"};D. char str[6] = {"Hello"};答案:A7. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C8. 下列哪个选项是C语言中正确的数组声明?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr = {0, 1, 2, 3, 4};答案:A9. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. refC. ptrD. *答案:D10. 下列哪个选项是C语言中正确的文件操作函数?A. fopenB. openfileC. fileopenD. open答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________运算符可以交换两个变量的值。

C语言考试试题及答案

C语言考试试题及答案

C语言考试试题及答案一、选择题(每题2分,共20分)1. C语言的标识符可以由哪些字符组成?A. 数字、字母和下划线B. 数字和字母C. 数字、字母和特殊字符D. 字母和下划线2. 在C语言中,哪个关键字用于声明整型变量?A. floatB. intC. doubleD. char3. 下面哪个选项是C语言的逻辑运算符?A. &&B. ||C. >>D. ++4. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putcharD. puts5. 以下哪个选项是C语言的循环控制语句?A. ifB. switchC. whileD. break二、填空题(每题2分,共20分)6. 在C语言中,声明一个整型变量的关键字是______。

7. 以下程序段的输出结果是______。

```cint a = 5;printf("%d\n", a++ + ++a);```8. 在C语言中,用于定义数组的标识符是______。

9. 下面程序的输出结果是______。

```cint a = 3, b = 4;printf("%d\n", a > b ? a : b);```10. 在C语言中,用于表示整型常量的关键字是______。

三、判断题(每题2分,共20分)11. C语言中的变量在使用前必须先声明。

()12. 在C语言中,数组的下标从0开始。

()13. C语言的switch语句中,case后面必须跟一个break语句。

()14. 在C语言中,逗号运算符的优先级最高。

()15. C语言的函数可以没有返回值。

()四、编程题(每题20分,共40分)16. 编写一个C程序,实现以下功能:输入10个整数,计算并输出它们的平均值。

17. 编写一个C程序,实现以下功能:输入一个字符串,将其中的小写字母转换为大写字母,大写字母转换为小写字母,并输出结果。

c语言选择题考试题库及答案

c语言选择题考试题库及答案

c语言选择题考试题库及答案1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. typedefD. enum答案:A2. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str[] = 'Hello';D. char str[] = {"Hello"};答案:A3. 下列哪个函数用于将字符串连接到另一个字符串的末尾?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:A4. C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr = {0, 1, 2, 3, 4};答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D6. C语言中,以下哪个选项用于声明一个指针变量?A. int *p;B. int p*;C. int *p = 0;D. int p = 0;答案:A7. 下列哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B8. C语言中,以下哪个选项是正确的枚举声明?A. enum Color {Red, Green, Blue};B. enum Color {1, 2, 3};C. enum Color {Red=1, Green=2, Blue=3};D. enum {Red, Green, Blue};答案:A9. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A10. C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. macrodefD. #define答案:D。

(word完整版)C语言考试题库及答案,推荐文档

(word完整版)C语言考试题库及答案,推荐文档

C 语言理论上机考试选择题部分(共200 题)1、下面程序的输出是___D ______#include<stdio.h>void main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D _______A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C 语言字符常量是_______ A ____ .A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9 的值是________ D ___ .A) true B) 非零值C) 0 D) 15 、C 语言提供的合法的数据类型关键字是_ B ___ .A) Double B) short C) integer D) Char6、字符(char) 型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC 码D) ASCII 码7、C 语言程序的基本单位是_____ C _____ .A) 程序行B) 语句C) 函数D) 字符 &设int a=12,则执行完语句a+=a-=a*a后,a的值是___ D ___A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是_ B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010 、下面程序的输出是____ B _____ .{int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411 、下面程序的输出的是 ____ C ___ .#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是_____ A ____ .#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if 后一对圆括号中表示a 不等于0 的关系,则能正确表示这一关系的表达式为_______ D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____ D _____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是____ D ____ .A) 1 B) 0 C) 4 D) 316、为表示关系x > y > z,应使用C语言表达式___A___.17、 C 语言中非空的基本数据类型包括_____ B ___ .A) 整型,实型,逻辑型B) 整型,实型,字符型#include<stdio.h> void main() A) (x>=y)&&(y>=z)C) (x>=y>=z)B) (x>=y)AND(y>=z)D) (x>=y) & (y>=z)C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x 和y 都是int 型变量,x=100,y=200, 且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是_______________________________ A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h> void main() { charch; scanf("%3c",&ch); printf("%c",ch);}如果从键盘上输入abc< 回车> 则程序的运行结果是__A ______________________ .A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h> void main() {int i,j;i=010; j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是_____ D __ .A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h> void main(){int i,j,m,n; i=8;j=10; m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_______ C ____ .A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10D) 9,10,9,1122、已知a=12, 则表达式a+=a-=a*=a 的结果是 ____ A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入是 ___ D .1 2 34567<回车>,则程序的运行结果A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是_____ D ___ .#include<stdio.h> void main(){int a=-1, b=4, k; k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是_____ A ___ .#include<stdio.h> void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是_____ A ___ .int a;int b=65536; a=b; printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____ B ____ .A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double 型变量x=2.5,y=4.7, 整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________ B ____ .A) 2.4 B) 2.5 C) 2.75 D) 030 、若已定义x 和y 是整型变量,x=2;, 则表达式y=2.75+x/2 的值是 ___ C ___ .A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是______ D ___ .#include<stdio.h> void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332 、设有以下语句:int x=10;x+=3+x%(3), 则x 的值是. _____ A _____A) 14 B) 15 C) 11 D) 1233、若d 为double 型变量,则表达式d=1,d+5,d++ 的值是___ D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3 的值是____ D ___ .A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a 的值__________ A ____ . A) 0 B) 1 C) 12 D) 6D) C 语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符_____ C __ .A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是___D ____ .A) float B) char C) int D) double40、一个C 语言的执行是从_____ A _____ .A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的 C 语言表达式是___ A ___ .A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_______ C ___ .#include <stdio.h>void main( ) { int a=5,b=60,c;if (a<b) {c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 12 43、如果 c 为字符型变量,判断 c 是否为空格不能使用___ A ___ .( 假设已知空格ASCII 码为32)A) if(c=='32') B) if(c==32)36、若有定义int x=3,y=2 和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b 的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C 语言中,以下叙述不正确的是_____ A ___ .A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C 程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同44、运行下面程序时,若从键盘输入"3,5<CR>" ,则程序的输出结果是____ D___ .#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y) printf("x==y");else if (x>y) printf("x>y");else printf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45 、运行下面程序时,若从键盘输入数据为"6,5,7<CR>" ,则输出结果是C___.C) if(c=='\40') D) if(c==' ')#include <stdio.h>void main( ){ int a,b,c; scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c) printf("%d\n",a);else printf("%d\n",c);elseif (b>c) printf("%d\n",b);else printf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>" ,则程序的运行结果是_____ A ____ .#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9') k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10; printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>" ,则输出9士里阜 D结果是___B ____ .#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是_____ A ___ .#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是____ C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!51、执行下列程序段后的输出结果是 ________ A __ .int x=1,y=1,z=1; x+=y+=z;printf("%d\n",x<y?y:x); A) 3 B) 2 C) 1D) 452、设 ch 是 char 型变量 ,值为 'A', 则表达式 ch=(ch>='A' && ch<='Z')?ch+32:ch 的值是 __B___. A) Z B) aC) zD) A53、下面程序的输出结果是 _____ C #include <stdio.h> void main( ){ int x=8,y=-7,z=9; if (x<y)if (y<0) z=0; else z-=1; printf("%d\n",z);}A) 8 B) 154、运行下面程序时 ,若从键盘输入 "5 <CR>", 则程序的 输出结果是 _____________ B ___. #include <stdio.h> void main( ){ int a ; scanf("%d",&a); if (a++>5)printf("%d\n",a); else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入 "3 ,4 <CR>" ,则 程序的输出结果是 ____ B___. #include <stdio.h> void main( ){ int a,b,s; scanf("%d,%d",&a,&b); s=a; if (s<b) s=b; s=s*s; printf("%d\n",s) ;}A) 14 B) 16 C) 18D) 20#include <stdio.h> void main( ) { int x=0,y=1,z=0; if (x=z=y)x=3; printf("%d,%d\n",x,z);}A) 3,0B) 0,0C) 0,1 D) 3,157、假定等级和分数有以下对应关系: 等级:A 分数:85〜100 等级:B 分数:60〜84 等级: C分数: 60 以下对于等级 grade 输出相应的分数区间,能够完成该功 能的程序段是 ________ D ___ . A) switch (grade){case 'A':printf("85--100\n"); case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} B) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} C) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} D) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n");break; default:printf(" 等级错误 !\n");}58、能够完成如下函数计算的程序段是__B厂-1x<0 y=T 0x=0 L1x>056、下列程序的执行结果是 ______ DA) y=1;B) if (x>=0)Bye_Bye!C) 9D) 0if (a) d=d-10; else if(!b) if (!c) x=15; else x=25; printf("d=%d\n",d);}A) d=20B) d=10C) d=15D) 2562、有如下程序 : #include <stdio.h> void main( ){ int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c++; printf("%d\n",c);}该程序的输出结果是 ___C _____ . A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是 ______ B __ . #include <stdio.h> void main( ){ int x,y=1,z; if ((z=y)<0) x=4; else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序 #include <stdio.h> void main( ){ int x=1,a=0,b=0; switch(x) {case 0: b++; case 1:a++; case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是 _______ A ___ . A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是 _____ C ___ . #include <stdio.h>if(x!=0)if(x>0) y=1; else y=0; C) y=0;if (x>=0)if (x>0) y=1; else y=-1;if(x>0) y=1; else y=0; elsey=-1;D) y=-1;if (x>0) y=1; else y=0;59、有如下程序 #include <stdio.h> void main( ) { float x=5.0,y; if(x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y=1.0; printf("%f\n",y);}该程序的输出结果是 C ____ .A) 0.000000 B) 0.50000 C) 0.200000D) 1.00000060、以下程序的执行结果是 ___B _____ . #include <stdio.h> void main( ) { int x=1,y=0; switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break; }case 2:printf("third\n");}}A) firstB) first second third C) firstD) secondthird61、以下程序的执行结果是 _____ A #include <stdio.h> void main( ){ int a,b,c,d,x; a=c=0; b=1; d=20;void main( ){ int a=-1,b=1,k; if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else printf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m 均为int 型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序段执行后,m 的值是____________ D __________ . A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D ______ .main( ) { int a=100;if (a>100) printf("%d\n",a>100); elseprintf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入是. B#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);} A) 11 B) 10 C)969、以下程序输出结果是______ D ____#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m);70、若执行下面的程序从键盘上输入5,则输出结果是#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是_____ A___ .int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x); A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h> void main( ) { int a,b,c=246;a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b);}输出结果是___ A ____ .A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123" ,则输出结果是___C ___ .#include "stdio.h"void main(){ int num,i,j,k,place; scanf("%d",&num); if (num>99)place=3;else if(num>9)place=2;elseplace=1; i=num/100; j=(num-i*100)/10;k=(num-i*100-j*10); switch (place) { case 3:printf("%d%d%d\n",k,j,i); break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D _____ .#include <stdio.h> void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x 的是 __B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a 输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 109,则输出结果D) 8A) 7 B) 6 C) 5 D) 477、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是______ C___ .#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else 语句的二义性,C 语言规定else 总是与___C___ 组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t 均为int 型变量,则执行以下语句后,t 的值为___ C ____ .x=y=z=1; t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段 C ________ .x=-1;do{x=x*x;} while (!x);A) 是死循环B) 循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B _____ .int x=0,s=0;while (!x!=0) s+=++x; printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____ C ___ .x=3; do { y=x--;if (!y) {printf("*");continue;} printf("#");} while(x=2);A) ## B) ##* C)死循环D)输出错误信息84、下面程序的运行结果是 B . #include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0); printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____ B _____ .int n=0;(n * n )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求n 的功能。

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

(1) 下面叙述正确的是()。

A) main( )函数必须位于源程序文件的开头B) 程序中必需含有自定义函数C) 每行最多只能写两条语句D) 所有语句都必须以分号“;”结束(2) 下面叙述错误的是()。

A) C语言规定可逐个引用数组元素但不能一次引用整个数组B) C语言数组名称是数组在内存中的首地址C) 数组中每一个元素都属于同一个数据类型D) C语言数组长度在定义数组时刻不作确定(3) 以下程序段的运行结果是()。

int t[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d\n”,t[1][1]);A) 4B) 3C) 5D) 1(4) 以下程序段的运行结果是()。

char str[3][2]={‘a’,’b’,’c’,’\0’,’e’,’f’};printf(“%s”,str[0]);A) abc\0efB) abcefC) abcD) a(5) 以下程序段的运行结果是()。

int f(int c){ c+=2;return c;}main( ){ int a=2,c=5;a=f(a);printf(“%d %d \n”,a,c);}A) 2 4B) 4 4C) 4 5D) 2 5B) C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率C) “#include <stdio.h>”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令D) 宏定义也是C语句,必须在行末加分号(7) 若有定义:int a=2,*p=&a;,则以下()均表示地址。

A) &a,pB) a,pC) a,*pD) &a,*p(8) 以下程序段运行后x的值为()。

int a[ ]={1,2,3,4,5,6,7,8};int i,x,*p;x=1;p=&a[1];for (i=0;i<3;i++)x*=*(p+i);A) 1B) 120C) 24D) 6(9) 下列()对结构类型变量定义是错误的。

A) struct teacher{ int num;int age;};struct teacher teach1;B) struct{ int num;int age;} teach1, teach2;C) struct{ int num;int age;} teacher;struct teacher teach1;D) struct teacher{ int num;int age;} teach1;(10) 以下程序段运行后,()对数组a元素的引用是错误的。

(其中0≤i<4,0≤j<3)A) *(*(a+i)+j)B) *(*(p+i)+j)C) p[i][j]D) *(p[i]+j)(11) 若有定义:char ch;int j,k;enum day {sun, mon, tue, wed, thu, fri, sat};int a[sat];则()对下列语句是否符合语法规则的判断是正确的。

sun=0; /*语句1*/j=mon+tue; /*语句2*/if (a[mon]>) j++; /*语句3*/A) 语句1、2、3均正确B) 语句2正确,语句1和语句3错误C) 语句1错误,语句2和语句3正确D) 语句1、2、3均错误(12) C语言的基本数据类型包括()。

A) 整型、实型、字符型B) 整型、指针型、字符型C) 整型、实型、逻辑型D) 整型、实型、空类型(13) 下面程序运行后,屏幕显示File open error!,则可能的原因是()。

#include <stdio.h>main(){FILE *fp;char str[256];fp=fopen(“test.txt”,”rt”);if (fp= =NULL){ printf(“File open error!:);return;}fscanf(fp,”%s”,str);fclose(fp);}A) 当前工作目录下没有test.txt文件B) 函数fopen( )的参数是错误的C) 当前工作目录下的test.txt文件是空文件D) text.txt文件已经打开B) float x=3.2, int i,j=6;C) float x=2.3,b,c;D) int a=2,b+=a;(15) 若有定义:int x,y,z; 语句x=(y=z=3,++y,z+=y); 运行后x的值为()。

A) 6B) 7C) 8D) 3(16) 若有定义int a=8,b=5;要实现输出形式为:8*5=40,正确的printf( )函数调用语句是()。

A) printf(“a*b=a*b\n”);B) printf(“a*b=%d\n”,a*b);C) printf(“%d*%d=a*b\n”,a,b);D) printf(“%d*%d=%d\n”,a,b,a*b);(17) 若有定义:int a;且表达式!a的值为0,则表达式()的值为1。

A) !(a<0||a>0)B) a!=0C) a= =0D) a=0(18) 下列运算符中优先级最低的是()。

A) >B) *C) =D) !(19) 以下程序段运行后x的值为()。

int a=3,b=6,x;x=(a= =b)?a++:--b;A) 6B) 4C) 5D) 3(20) 以下程序段运行后x的值为()。

int i=0,x=0;for (;i<=5;i++,i++){x+=3;}A) 9(21)()是关于C语言数据类型的正确叙述。

A) 枚举类型不是基本类型B) 变量使用前应定义相应的数据类型C) 不允许使用空类型D) 数组不是构造类型(22)()是正确的数组定义。

A) int n=5; int arr[n];B) int n; n=5; int arr[n];C) int arr[10];D) int N=5, arr[N];(23) 以下程序段运行后a的值为()。

int a=2;a=strcmp(“miss”,”miss”);A) trueB) 0C) 1D) -1(24) 以下程序段的运行结果是()。

int fun(int array[3][3]){ int j;for (j=0;n<3;j++) array[1][j]++;printf("\n");}main( ){ int j,a[3][3]={0,1,2,1,0,4,2,4,5};fun(a);for (j=0;n<3;j++) printf(“%2d”,a[1][j]);printf("\n");}A) 1 0 4B) 0 1 2C) 1 2 3D) 2 1 5(25) 若有定义:#define PI 3,则表达式PI*2*2的值为()。

A) 4B) 不确定(26) 若有定义:int *p1,*p2;,则不能用于指针变量p1、p2之间的运算符是()。

A) -B) =C) +D) = =(27) 若有定义:struct teacher{ int num;char sex;int age;} teacher1;则下面叙述错误的是()。

A) teacher1是结构类型名B) struct teacher是用户定义的结构类型C) num、sex、age都是结构变量teacher1的成员D) struct是结构类型的关键字(28) 下列程序段运行后,表达式()的值为3。

struct point{ int x;int y;} *p;stuct point a[3]={1,2,3,4,5,6};p=a;A) p[1].xB) *(p+2)C) p[3].xD) p[2].x(29) 若有定义:typedef int NUM[100];NUM n;则()语句是正确的。

A) n[0]=2;B) NUM=2;C) NUM=n;D) n=2;(30)()为非法的字符串常量。

A) “case”B) ““(31) 若当前工作目录下有一文本文件test.txt,其内容为"cprogram“(不包含引号),则以下程序段的运行结果是()。

FILE *fp;char *str;if ((fp=fopen(“test.txt”,”r”))!=NULL)str=fgets(str,5,fp);printf("%s",str);fclose(fp);A) cproB) cprogC) ogramD) gram(32) 若有定义:int a=3;,语句a+=a-=a*a;运行后a的值为()。

A) -3B) -6C) -12D) 0(33) 若有定义:int i=3,j=6;,则表达式(--i)*(j++)的值为()。

A) 12B) 10C) 18D) 15(34) getchar( )函数的功能是获取终端输入的()。

A) 一个实型变量值B) 一个字符C) 多个字符D) 一个整型变量表达式(35) 若有定义:int a;,则表达式()不能用来判断a值为奇数是“真”,偶数是“假”。

A) a%2= =1B) !(a%2)C) a%2D) !(a%2= =0)(36) 若有定义:float x=3.5,y=3.6; 则表达式()的值为6。

A) (int)x+(int)yB) x+yC) (int)(x+y)D) int(x+y)void main(){ int a,b=2,c=6;a=3;if (a>6) a=a+b;else if (a= =6) b=a+c;else a=b+c;printf("%d\n",a);}A) 9B) 6C) 8D) 5(38) 以下程序段运行后x的值为()。

int i,j,x=0for (i=3;i>=1;i--)for (j=1;j<=i;j++)x=x+2;A) 8B) 14C) 10D) 12(39) 下面叙述错误的是()。

A) c源程序必须包含一个main( )函数B) c源程序可由一个或多个函数组成C) 一个c源程序的执行是从main( )函数开始,直到main( )函数结束D) 注释说明部分只能位于c源程序的最前面(40) 下面叙述错误的是()。

A) 一个指针变量只能指向同一类型的变量B) 一个变量的地址称为该变量的指针C) 可以将一个整数值赋给指针变量D) 任何指针变量都可以与空指针NULL进行比较(41) 以下程序的运行结果是()。

main(){ int x,y;int *p,*q,*t;x=23;y=45;p=&x;q=&y;t=p;p=q;A) 45,23B) 45,45C) 23,45D) 23,23(42) 若有定义int a=1,b=2,t=3;struct data{ char afloat b[3];long c;}d1;则变量d1的长度是()。

相关文档
最新文档