C语言考试题库及答案精编

合集下载

c语言考试及答案

c语言考试及答案

c语言考试及答案————————————————————————————————作者:————————————————————————————————日期:浙江理工大学C程序设计试题(一)试题二、语言基础题(本题共30分)(一)判断题(本题共10分,每小题1分)说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。

(16) C语言程序的三种基本结构是顺序、选择和嵌套。

(17) 在C语言程序中,在函数内部定义的变量称为全局变量。

(18) 运算符“=”和“&=”的优先级相同。

(19) ‘%f’是不正确的字符常量。

(20) 运算符“+”不能作为单目运算符。

(21) 如果运算符“*”和“/”都是右结合的,则表达式10*6/5的值是10。

(22) s(s-a)(s-b)(s-c)是合法的C语言表达式。

(23) 表达式!!6的值是6。

(24) 表达式~(~2<<1)的值是5。

(25) 对于变量定:int a[10],*p=a+8;数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分)(26) 执行语句printf("(26) ","A");将得到出错信息。

A、%uB、%sC、%eD、%d(27) 设c是一个字符变量,求解表达(27) 后,c的值不是1就是0。

A、c=getchar()!=’\n’B、(c=getchar()!)=’\n’C、c=’1’D、c=EOF(28) 下列定义中,(28) 定义的变量可以存放-123.4。

A、long a;B、unsigned b;C、int d;D、float c;(29) 对于变量定义;char *pp[100],pp是一个(29) 。

A、函数B、数组元素C、指针变量D、数组(30) 下列程序段的输出结果是(30) 。

char *st[ ]={ "SUM","MOON","STAR","X"};printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)A、(MOON,M)B、(OON,C)C、(OON,Q)D、(OON,A)(31) 对于以下的变量定义,表达式(31) 是不正确的。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

指针是一个变量,它存储另一个变量的内存地址。

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

c语言的考试题目答案及解析

c语言的考试题目答案及解析

c语言的考试题目答案及解析1. 题目:以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C解析:在C语言中,变量名必须以字母或下划线开头,不能以数字开头。

因此,选项A和D是不合法的。

选项B虽然以字母开头,但是数字紧跟字母,没有下划线或空格分隔,所以也是不合法的。

选项C 以下划线开头,符合变量命名规则。

2. 题目:以下哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A解析:在C语言中,字符串字面量应该用双引号括起来。

选项B使用了单引号,这是用于字符字面量的,而不是字符串。

选项C和D是重复的,并且由于格式问题,它们可能没有正确显示,但假设它们是正确的字符串字面量,那么答案应该是A,因为它是第一个出现的合法字符串字面量。

3. 题目:以下哪个选项是C语言中正确的函数声明?A. int function(int x) {}B. void function() {}C. int function(int x, int y) {}D. All of the above答案:D解析:在C语言中,函数声明可以包含参数列表,也可以没有参数。

选项A和C都包含了参数列表,并且参数类型是int,这是合法的。

选项B没有参数列表,并且指定了返回类型为void,这也是合法的。

因此,所有选项都是正确的函数声明。

4. 题目:以下哪个选项是C语言中正确的条件语句?A. if (x > 0) { ... }B. if x > 0 { ... }C. if (x > 0) { ... } else { ... }D. if (x > 0) { ... } elseif { ... }答案:C解析:在C语言中,条件语句必须使用if关键字,并且条件表达式需要用括号括起来。

c语言程序期末考试试题及答案

c语言程序期末考试试题及答案

c语言程序期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. staticC. voidD. function答案:C2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 下列哪个选项是正确的C语言注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B5. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. floatD. *答案:D7. 在C语言中,以下哪个选项是正确的数组声明方式?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A8. 在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. if (condition) { }C. if (condition) { } else { }D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. while (condition)C. do { } while (condition);D. All of the above答案:D10. 在C语言中,以下哪个函数用于计算两个数的和?A. printf()B. scanf()C. sum()D. None of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确方式是:`int ____;`答案:变量名2. 要输出一个字符串,应该使用函数:`____`答案:printf3. 要读取一个字符,应该使用函数:`____`答案:scanf4. 在C语言中,数组的索引从____开始。

c语言编程题考试题库及答案

c语言编程题考试题库及答案

c语言编程题考试题库及答案一、单项选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12LB. 0x12.5C. 0x12.0D. 0x12F答案:A2. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\"答案:C3. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(a, b);答案:A4. C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:B5. 在C语言中,以下哪个选项是正确的指针声明?A. int *p = 0;B. int *p = "Hello";C. int *p = 5;D. int p = 0;答案:A二、填空题1. 在C语言中,表示逻辑“与”操作的运算符是 ________ 。

答案:&&2. C语言中,表示逻辑“或”操作的运算符是 ________ 。

答案:||3. 在C语言中,表示逻辑“非”操作的运算符是 ________ 。

答案:!4. C语言中,表示赋值操作的运算符是 ________ 。

答案:=5. 在C语言中,表示取地址操作的运算符是 ________ 。

答案:&三、程序阅读题阅读以下C语言程序段,并回答问题。

```c#include <stdio.h>int main() {int a = 10, b = 20, c;c = a + b;printf("%d", c);return 0;}```1. 程序的输出结果是什么?答案:302. 如果将`c = a + b;`改为`c = a * b;`,程序的输出结果是什么?答案:200四、编程题1. 编写一个C语言程序,实现两个整数的加法运算,并输出结果。

c语言试题及答案大全

c语言试题及答案大全

c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。

B. C语言可以被编译成机器语言执行。

C. C语言的语法和C++完全相同。

D. C语言不支持面向对象的编程。

答案:B. C语言可以被编译成机器语言执行。

2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。

其中,n由用户输入。

答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。

素数是指除了1和自身外,无法被其他整数整除的整数。

答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。

c语言编程基础题库及详解答案

c语言编程基础题库及详解答案

c语言编程基础题库及详解答案1. C语言是一种______语言。

A. 编译型B. 解释型C. 标记型D. 脚本型答案:A2. C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B3. 在C语言中,整数类型int的范围是多少?A. -128到127B. -32768到32767C. -2147483648到2147483647D. 以上都不是答案:C4. 下列哪个是C语言中的控制语句?A. ifB. loopC. switchD. All of the above答案:D5. C语言中,以下哪个是正确的数组声明?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C6. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. int myFunction();D. Both A and C答案:D7. C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. Both A and BD. None of the above答案:A8. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. *B. /C. %D. +答案:A9. C语言中,以下哪个是正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D10. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr[];C. Both A and BD. None of the above答案:A11. C语言中,以下哪个是正确的结构体声明?A. struct myStruct { int a; float b; };B. struct { int a; float b; };C. Both A and BD. None of the above答案:C12. 在C语言中,以下哪个是正确的枚举类型声明?A. enum Color { RED, GREEN, BLUE };B. enum { RED, GREEN, BLUE };C. Both A and BD. None of the above答案:C13. C语言中,以下哪个函数用于将整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. Both A and B答案:B14. 在C语言中,以下哪个函数用于计算两个数的最大公约数?A. max()B. gcd()C. min()D. Both A and C答案:B15. C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. All of the above答案:D16. 在C语言中,以下哪个是正确的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C17. C语言中,以下哪个是正确的位操作符?A. &B. |C. ^D. All of the above答案:D18. 在C语言中,以下哪个是正确的预处理指令?A. #includeB. #defineC. Both A and BD. None of the above答案:C19. C语言中,以下哪个是正确的递归函数调用?A. function();B. function(function());C. function(recursive);D. None of the above答案:B20. 在C语言中,以下哪个是正确的宏定义?A. #define PI 3.14159B. define PI 3.14159C. Both A and BD. None of the above答案:A。

c语言期末考试题及答案及解析

c语言期末考试题及答案及解析

c语言期末考试题及答案及解析1. 请写出C语言中声明一个整型变量的语句。

答案:int a;解析:在C语言中,使用关键字`int`来声明一个整型变量,`a`是变量的名称。

2. 如何在C语言中使用循环结构打印出1到10的数字?答案:```c#include <stdio.h>int main() {for(int i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}```解析:这里使用了`for`循环结构,初始化变量`i`为1,循环条件是`i`小于等于10,每次循环结束后`i`自增1,循环体中使用`printf`函数打印当前的`i`值。

3. 请解释C语言中的指针是什么?答案:指针是一种变量,它存储了另一个变量的内存地址。

解析:指针在C语言中用于直接访问内存地址,它允许程序直接操作内存,这在某些情况下可以提高程序的效率。

4. 写出一个C语言函数,该函数接受一个字符串作为参数,并返回该字符串的长度。

答案:```cint stringLength(char *str) {int length = 0;while(*str) {length++;str++;}return length;}```解析:这个函数通过遍历字符串,直到遇到字符串结束符`\0`,每遍历一个字符,长度计数器`length`就增加1,最后返回字符串的长度。

5. 在C语言中,如何交换两个变量的值?答案:```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```解析:通过使用指针参数,我们可以在函数内部交换两个变量的值。

首先将第一个变量的值存储在临时变量`temp`中,然后将第二个变量的值赋给第一个变量,最后将`temp`中的值赋给第二个变量。

6. 请解释C语言中的结构体是什么?答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。

c语言基础试题及答案

c语言基础试题及答案

c语言基础试题及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B3. 下列哪个选项是C语言中的合法整数常量?A. 0x12B. 0X12C. 0x1GD. 0x1g答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D二、填空题1. C语言中,用于定义一个变量的关键字是________。

答案:int2. C语言中,用于定义一个数组的语法是________。

答案:type arrayName[arraySize];3. C语言中,用于定义一个指针的语法是________。

答案:type *pointerName;4. C语言中,用于定义一个函数的语法是________。

答案:type functionName(parameters);5. C语言中,用于定义一个枚举的语法是________。

答案:enum enumName {elements};三、简答题1. 简述C语言中指针和数组的关系。

答案:在C语言中,指针和数组有密切的关系。

指针可以指向数组的元素,数组名可以作为指向数组首元素的指针。

通过指针可以访问和修改数组中的元素。

2. 描述C语言中函数的调用过程。

答案:在C语言中,函数调用过程包括:调用函数、传递参数、执行函数体、返回结果。

调用函数时,程序控制权转移到被调用函数,函数执行完毕后,返回到调用点继续执行。

四、编程题1. 编写一个C语言程序,实现计算两个整数的和。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

c语言试题及答案解析

c语言试题及答案解析

c语言试题及答案解析一、选择题1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言。

B. C语言可以直接被计算机执行。

C. C语言具有结构化编程的特性。

D. C语言支持多文件编程。

答案:B解析:C语言是一种高级编程语言,它需要编译器将其编译成机器语言后,计算机才能执行。

C语言支持结构化编程,并且可以进行多文件编程。

2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. returnC. voidD. function答案:C解析:在C语言中,关键字`int`用于定义函数的返回类型,`return`用于从函数返回值,`void`表示函数没有返回值,而`function`并不是C语言的关键字。

正确的关键字用于定义函数的是`void`,但通常与函数名一起使用,例如`void functionName() {}`。

二、填空题1. C语言标准库函数_________()用于将字符串转换为浮点数。

答案:atof解析:`atof`函数是C语言标准库中的一个函数,它用于将字符串转换为浮点数。

2. 在C语言中,_________运算符用于计算两个整数的差值。

答案:-解析:在C语言中,减号`-`运算符用于计算两个整数的差值。

三、简答题1. 简述C语言中指针的概念及其作用。

答案:指针是C语言中一个重要的概念,它是一个变量,其值是另一个变量的内存地址。

指针的作用包括:- 直接访问内存,提高程序的运行效率。

- 实现动态内存分配。

- 作为函数参数,实现函数对变量的间接操作。

- 实现复杂的数据结构,如链表、树等。

解析:指针是C语言中用于存储变量地址的变量,它使得程序能够直接操作内存地址,从而实现高效的数据处理和复杂的数据结构。

2. 描述C语言中数组的声明和初始化方法。

答案:在C语言中,数组的声明和初始化可以通过以下方式进行:- 声明:使用`type arrayName[arraySize];`的格式,其中`type`是数据类型,`arrayName`是数组名,`arraySize`是数组的大小。

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语言试题库(完整版)整理版一、选择题A. intB. floatC. charD. string答案:D解析:C语言的基本数据类型包括int(整数类型)、float(浮点数类型)和char(字符类型),而string(字符串类型)不是C语言的基本数据类型。

A. constB. defineC. staticD. volatile答案:A解析:在C语言中,const关键字用于定义常量,它表示变量的值在程序运行期间不能被修改。

define是预处理指令,用于定义宏;static用于定义静态变量;volatile用于定义易变变量。

A. ifB. switchC. forD. goto答案:C解析:在C语言中,for循环是一种常用的循环控制语句,它允许程序重复执行一段代码直到满足某个条件。

if是条件语句,用于根据条件执行不同的代码;switch是选择语句,用于根据表达式的值执行不同的代码块;goto是无条件跳转语句,用于在程序中跳转到指定的标签。

A. printfB. scanfC. coutD. cin答案:A解析:在C语言中,printf函数用于输出信息到控制台,而scanf函数用于从控制台读取输入。

cout和cin是C++中的输入输出流对象,不是C语言中的函数。

A. int a[5];B. int a(5);C. int a{5};D. int a=5;答案:A解析:在C语言中,声明数组时需要使用方括号来指定数组的大小。

选项A正确地声明了一个大小为5的整数数组。

选项B和C使用了不正确的语法,而选项D声明了一个整型变量并赋值为5,而不是数组。

二、简答题1. 请简述C语言的特点。

2. 请简述C语言中的函数定义和调用。

答案:在C语言中,函数是一段可重复使用的代码块,它具有特定的功能和参数。

函数定义包括函数头和函数体,函数头声明了函数的返回类型、函数名和参数列表。

函数调用是通过函数名和参数来执行函数的功能。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

c语言考试题及答案以及解析

c语言考试题及答案以及解析

c语言考试题及答案以及解析一、选择题1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A解析:在C语言中,关键字是保留的词汇,用于表示特定的语法结构。

int是C语言中用于声明整型变量的关键字。

2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,乘法运算符是星号(*),用于计算两个数的乘积。

二、填空题1. 在C语言中,以下代码片段的输出结果是:```cint main() {int a = 5;printf("%d", a);return 0;}```输出结果为:_________答案:5解析:代码中的printf函数用于输出变量a的值,a被初始化为5,因此输出结果为5。

2. 下列代码段中,变量b的值是多少?```cint main() {int a = 10, b;b = a + 5;printf("%d", b);return 0;}```变量b的值为:_________答案:15解析:变量b被赋值为变量a加上5,由于a的值为10,所以b的值为15。

三、简答题1. 简述C语言中的数组是什么,并给出一个数组的声明和初始化的例子。

答案:C语言中的数组是一种数据结构,用于存储相同类型的多个元素。

数组的声明需要指定元素的类型和数组的长度。

数组的初始化可以在声明时完成。

解析:例如,声明一个整型数组并初始化:```cint numbers[5] = {1, 2, 3, 4, 5};```2. 解释C语言中的函数是什么,并给出一个简单函数的定义和调用的例子。

答案:C语言中的函数是一段具有特定功能的代码块,可以接收参数,并返回一个值。

函数的定义包括函数的返回类型、名称、参数列表和函数体。

函数的调用是使用函数名称和必要的参数来执行函数。

解析:例如,定义一个函数来计算两个数的和,并调用它:```cint add(int x, int y) {return x + y;}int main() {int result = add(5, 10);printf("%d", result);return 0;}```四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。

(完整版)C语言题库(带详解答案)

(完整版)C语言题库(带详解答案)

一单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。

A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

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

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

c语言c语言考试题库及答案一、选择题1. 在C语言中,用于定义变量的关键字是:A. defineB. varC. intD. let答案:C2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-twoD. variable#答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A5. 以下哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C二、填空题6. 在C语言中,一个基本的程序结构包括____、____和____。

答案:预处理指令;函数定义;语句7. 一个C语言程序的执行从____函数开始。

答案:main8. 在C语言中,使用____关键字可以定义一个函数。

答案:void 或其他数据类型9. 一个C语言数组的元素默认情况下是按照____顺序存储的。

答案:连续10. C语言中的____运算符用于连接字符串。

答案:+三、简答题11. 解释C语言中指针的概念。

答案:指针是一种变量,它存储了另一个变量的内存地址。

通过指针,可以直接操作内存地址中的数据,实现数据的间接引用。

12. 描述C语言中结构体的定义和使用。

答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。

定义结构体时,使用struct关键字,然后定义结构体的名称和成员。

使用结构体时,可以创建结构体变量,并通过点(.)运算符访问其成员。

四、编程题13. 编写一个C语言程序,计算并输出1到100的整数之和。

(完整版)C语言试题及答案解析

(完整版)C语言试题及答案解析

C语言一、选择题(第题2分,共20分)1.一个C程序的执行是从 A 。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。

x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 523.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~21474836474.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。

A) float B) char C) int D) double5. putchar函数可以向终端输出一个D 。

A) 整型变量表达式 B) 实型变量值C) 字符串 D) 字符或字符型变量值6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。

A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格 D) 输出错误信息7.判断char型变量ch是否为大写字母的正确表达式是 C 。

A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。

完整版C语言试卷及答案

完整版C语言试卷及答案

完整版C语言试卷及答案一、选择题部分(每题1分,共30分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. doubleC. charD. boolean2. 在C语言中,以下哪个用于定义常量的关键字?A. constB. staticC. finalD. define3. 下面哪个选项是正确的C语言注释格式?A. /** 注释内容 */B. // 注释内容C. /* 注释内容 */D. # 注释内容4. 下列选项中,不是C语言的逻辑运算符的是:A. &&B. ||C. !D. %5. 在C语言中,以下哪个函数用于输出信息到屏幕上?A. scanf()B. printf()C. gets()D. puts()二、填空题部分(每题2分,共20分)1. 在C语言中,用于声明变量的关键字是_________。

2. 在C语言中,用于取一个整数的绝对值的函数是_________。

3. 下面这段代码的输出结果是_________。

```c#include <stdio.h>int main(){int a = 10;int b = 20;printf("%d + %d = %d\n", a, b, a + b);return 0;}```4. 在C语言中,用于按位取反的运算符是_________。

5. 下面这段代码的循环次数是_________。

```c#include <stdio.h>int main(){int i;for (i = 0; i < 5; i++){printf("%d ", i);}return 0;}```三、编程题部分(共50分)1. 编写一个程序,输入一个整数n(n>0),输出1到n之间的所有偶数。

2. 设计一个函数,接收两个整数参数a和b,返回它们的最大公约数。

3. 编写一个程序,实现斐波那契数列的前n项的求和。

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

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)); 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) 字符8、设int a=12, 则执行完语句a+=a-=a*a 后,a的值是DA) 552 B) 264 C) 144D) -2649、执行下面程序中的输出语句后, 输出结果是__ B__.C) k=i=j; D) a=b+c=1;3、下面合法的 C 语言字符常量是_______ A _____ .A) '\t' B) "A" C) 65D) A4、表达式: 10!=9 的值是___ ____ D _____ .A) true B) 非零值C) 0#include<stdio.h>void main(){int a;}ch1='A'+'5'-'3';A) 65 B) 20 C) 15 ch2='A'+'6'-'3';D) 10 printf("%d,%c\n",ch1,ch2);10、下面程序的输出是 ____ B______________________________}#include<stdio.h> A) 67,D B) B,C C) C,D D) 不void main()确定的值{int x=023; 13、若要求在if 后一对圆括号中表示 a 不printf("%d\n",--x); 等于0 的关系, 则能正确表示这一关系的表}达式为D__.A) 17 B) 18 C) 23 A) a<>0 B) !a C) a=0D) 24 D) a11、下面程序的输出的是 ______ C__ 14、以下程序的输出结果是_____ D _______ .#include<stdio.h> #include<stdio.h>void main() void main(){int x=10,y=3; { int x=10,y=10;printf("%d\n",y=x/y); printf("%d %d\n",x--,--y);}}A) 0 B) 1 C) 3 D) 不A) 10 10 B) 9 9 C) 9 10确定的值D) 10 912、已知字母 A 的ASCII 码为十进制的65, 15、设有如下定义: 下面程序的输出是______ A ______ . int x=10,y=3,z;#include<stdio.h> 则语句printf("%d\n",(a=3*5,a*4,a+5)); {char ch1,ch2;的输出结果是_____ D______A) 1 B) 0 C) 4D) 316、为表示关系x> y >乙应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) &(y>=z)17 、 C 语言中非空的基本数据类型包括____ B _____A) 整型, 实型,逻辑型B) 整型,实型, 字符型C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型18 、若x 和y 都是int 型变量,x=100,y=200, 且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_____ A___.A) 200 B) 100C) 100 200 D) 输出格式符不够, 输出不确定的值19 、阅读下面的程序void main(){char ch;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,17D) -1,17#include<stdio.h> 21 、阅读下面的程序#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,10 D) 9,10,9,1122、已知a=12, 则表达式a+=a-=a*=a 的结果是________ A__.A) 0 B) 144 C) 12D) -26423 、若已定义int a, 则表达式a=10,a+10,a++ 的值是__B_.A) 20 B) 10 C) 21D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是__ _D _____ .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,2D) 0,0,326、下面程序的输出结果是______ A ____ .#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;A) 2.4 B) 2.5 C) 2.75printf("%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) -1D) 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,10D) 8,8,1029、已知有double 型变量x=2.5,y=4.7, 整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4 的值是 B .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,10D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x 的值是. ___ A ______A) 14 B) 15 C) 11D) 1233、若 d 为double 型变量, 则表达式d=1,d+5,d++ 的值是_____ D__.A) 1 B) 6.0 C) 2.0D) 1.034、表达式5!=3 的值是_____ D _____ .A) T B) 非零值C) 0 B) 必须为下划线C) 必须为字母或下划线D) 135、若有定义int a=12,n=5, 则表达式D) 可以是字母, 数字或下划线中的任意一a%=(n%2运算后,a的值 A . 种A) 0 B) 1 C) 12 39、设有说明:char w; int x; float y;D) 6 double z; 则表达式: w*x+z-y 值的数据类36 、若有定义int x=3,y=2 和float 型是___D ______ .a=2.5,b=3.5, 则表达A) float B) char C) int式:(x+y)%2+(int)a/(int)b 的值是_D_. D) doubleA) 0 B) 2 C) 1.5 40、一个C语言的执行是从___A ________ .D) 1 A) 本程序的主函数开始, 到本程序的主函37、在 C 语言中, 以下叙述不正确的是数结束______ A ____ . B) 本程序的第一个函数开始到本程序的A)在C程序中,无论是整数还是实数,都能最后一个函数结束被准确无误的表示C) 本程序的主函数开始, 到本程序的最后B) 在 C 程序中, 变量名代表存储器中的一一个函数结束个位置D) 本程序的第一个函数开始到本程序的C) 静态变量的生存期与整个程序的生存期主函数结束相同41、设 a 为整型变量, 不能正确表达数学关D) C 语言中变量必须先定义后引用系10<a<15的C语言表达式是_____ A ____ .38、C 语言中的变量名只能由字母, 数字和A) 10<a<15 B) 下划线三种字符组成, 且第一个字符a==11||a==12||a==13||a==14____ C _____ . C) a>10&&a<1542 、下列程序执行后的输出结果是__ 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=300D) 1243、如果 c 为字符型变量,判断 c 是否为空格不能使用 _ A ____ .( 假设已知空格ASCII 码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c=='')44、运行下面程序时,若从键盘输入"3,5<CR>" ,则程序的输出结果是D ____ .void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y) printf("x==y");else if (x>y) printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>" ,则输出结果是______ 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);elseelseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D)不定值46、执行下面程序时, 若从键盘输入"2<CR>",贝y程序的运行结果是 A .#include <stdio.h>void mai n(){ 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) 1D) 1047、运行下面程序时, 从键盘输入"2.0<CR>",则输出结果是—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}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)morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!GoodMorning!C) Hello! D) Hello!Good morning!Bye_Bye!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' && chv二'Z')?ch+32:ch 的值是__B___.A) Z B) a C) z53、下面程序的输出结果是_____ C ____ .#include <stdio.h> void main( )A) y=41 B) y=43 C) y=42 case 'G':printf("Good{ 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) 1 C) 9D) 054、运行下面程序时, 若从键盘输入"5 <CR>",则程序的输出结果是_____________ B—.#include <stdio.h> void main( ) { int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a); elseprintf("%d\n",a--) ;}A) 7 B) 6 C) 5D) 455、运行下面程序时,若从键盘输入"3 ,4 #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) 18 D) 2056、下列程序的执行结果是_____ D _____ . #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,0 B) 0,0 C) 0,1D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85〜100对于等级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;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 .厂-1y= T 0L1A) y=1;if(x!=0)y=1;if(x>0) y=1;else y=0;等级:C 分数:60以下case 'C':printf("60 以下\n");x<0x=0x>0B) if (x>=0)if(x>0)y=1;if (x>0) y=1; else y=0;else y=-1;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.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是___B _________ #include <stdio.h>void main( ) { int x=1,y=0;switch (x){case 1:case0:printf("first\n");break;case1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是_____ A #include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;if (x>=0) if (x>0) switch (y)printf("d=%d\n",d);}A)d=20 B) d=10 C) d=15 D) 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) 2D) 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=0D) a=2,b=265、下面程序的输出结果是_____ C ______ #include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10D) 869、 以下程序输出结果是 ____ D_ #include <stdio.h> void main( ) { int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m); } A) 7 B) 6 D) 470、 若执行下面的程序从键盘上输入 输出结果是 .#include <stdio.h> void main( ) {int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);#include <stdio.h>elseprintf("%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);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、 若执行下面的程序从键盘上输入9, 则输出结果是 . _______B___________C) 9C) 55,则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,3D) 2,-173、运行下面程序时,若从键盘输入数据为"123" ,则输出结果是___Cvoid 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);}}#include "stdio.h"74 、 执 行 下 列 程 序 后 的 输 出 结 果 是 ___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) 2D) 1 75、以下条件表达式中能完全等价于条件表 达式 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) ; }性,C 语言规定else 总是与_C —成配77、运行下面程序后 , 输出是 __#include <stdio.h> void main( ) { int k=-3;if (k<=0) printf("****\n"); else printf("####\n") } A) #### B) **** C) ####****D) 有语法错误不能通过编译 78、执行下面程序的输出结果是#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 _____语句的二义 10对关系.A)缩排位置相同的ifB)在其之前未配对的ifC)在其之前尚未配对的最近的ifD)同一行上的if80、设x 、y 、z 、t 均为int 型变量, 则执行以下语句后,t 的值为____ C _______ .x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1D) 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)运行程序段后输出 1 C)程序段中的控制表达式是非法的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,-1D) 4,985、下面程序段的运行结果是 _____ B_______int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D __________ int x=0,y=0;while (x<15) y++,x+=++y; printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8D)8,2087、下面程序的运行结果是___B ________ .#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5D) 688、函数pi 的功能是根据以下近似公式求n 值:____ C ________ (n * n )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求n的功能。

相关文档
最新文档