C语言期末复习题,C语言的强化练习

合集下载

C语言期末复习题库

C语言期末复习题库

C语言期末复习题库一、选择题1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function2. 以下哪个是C语言中的合法标识符?A. 3variableB. variable3C. variable#3D. variable-33. 以下哪个选项是C语言中的一维数组声明?A. int array[10];B. int [10] array;C. int array10;D. int 10array;4. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /5. 以下哪个是C语言中的控制语句?A. forB. whileC. switchD. All of the above二、填空题6. 在C语言中,一个基本的程序结构是_________,它包括预处理器指令、全局变量声明、主函数和其他函数。

7. 一个C语言程序的执行从_________函数开始。

8. 在C语言中,用于定义函数的关键字是_________。

9. 在C语言中,用于结束程序的函数是_________。

10. 在C语言中,用于声明一个整型变量的关键字是_________。

三、简答题11. 解释C语言中指针的概念,并给出一个使用指针的简单示例。

12. 描述C语言中结构体(struct)的作用,并给出一个定义结构体的示例。

13. 解释C语言中函数的作用,并说明如何定义和调用一个函数。

14. 什么是C语言中的递归函数?并给出一个递归函数的示例。

15. 描述C语言中数组和指针的关系,并说明如何通过指针访问数组元素。

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

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

18. 编写一个C语言程序,实现查找一个整数数组中的最大值。

19. 编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

C语言期末考试复习题及答案3

C语言期末考试复习题及答案3

C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上.答在试卷上不得分。

(1)C语言规定:在一个源程序中,main函数的位置.A)必须在最后B)必须在系统调用的库函数的后面。

C)必须在最开始.。

D)可以任意(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。

A)必须为字母或下划线.。

B)必须为下划线。

C)必须为字母D)可以是字母、数字和下划线中的任一种字符。

(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是。

A)—10 0x8f —011 B) 010 -0x11 0xf1C) 0abc —017 0xc D) 0a12 —0x123 -0xa(4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是.A)0 ~ 65535 B)0 ~ 32767C)—32767 ~ 32768 D)—32768 ~ 327687(5) 若有定义:int a = 7; floa x = 2。

5 , y = 4.7 ;则表达式x + a % 3 * (int)(x + y)% 2/4 的值是.A)2。

750000 B)0.00000 C)3。

500000 D)2。

500000 (6)已知ch是字符型变量,下面不正确的赋值语句是。

A)ch = 5 + 9 ; B) ch= ' a + b ';C) ch = ' \ 0 ’;D)ch= ’7’ + ’6';(7) 设x ,y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的是。

A)!((x < y )&&!z || 1)B)' x ' &&’ y ’C)x || y+z && y — z D)x 〈= y(8)设有程序段int k = 10 ;while ( k = 0 ) k = k — 1 ;以下描述正确的是.A)循环体语句一次也不执行。

c语言期末考试复习题

c语言期末考试复习题

c语言期末考试复习题C语言作为一门基础而强大的编程语言,其期末考试通常包含对语言基础、数据结构、控制结构、函数、指针、数组、文件操作等多个方面的考察。

以下是一份C语言期末考试的复习题,旨在帮助同学们全面复习和巩固所学知识。

一、选择题1. 在C语言中,以下哪个关键字用于定义函数?A. ClassB. FunctionC. voidD. int2. 以下哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name3. C语言中,哪个运算符用于计算两个数的乘积?A. *B. /C. +D. -4. 以下哪个语句可以用于输入一个整数?A. scanf("%d", &variable);B. printf("%d", &variable);C. getchar(&variable);D. input(&variable);5. 在C语言中,数组的索引是从哪个数字开始的?A. 0B. 1C. -1D. 随机数二、填空题1. 在C语言中,一个基本的数据类型包括______、______、______、______等。

2. 用于定义一个整型变量的关键字是______。

3. 一个C语言程序的执行从______函数开始。

4. 用于输出一个浮点数的函数是______。

5. 字符串在C语言中以______字符结尾。

三、简答题1. 解释C语言中的指针是什么,并给出一个简单的例子。

2. 描述C语言中数组和指针之间的关系。

3. 什么是函数的递归调用?请给出一个简单的递归函数示例。

四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和、差、积、商。

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

3. 编写一个C语言程序,实现对一个整数数组进行排序。

五、综合应用题1. 描述如何在C语言中实现文件的读写操作,并给出一个简单的文件写入和读取的例子。

c语言期末实操复习题

c语言期末实操复习题

c语言期末实操复习题### C语言期末实操复习题#### 一、基础语法题1. 变量声明与初始化编写一个程序,声明一个整型变量`a`和一个浮点型变量`b`,并将它们分别初始化为10和3.14。

2. 数据类型转换编写代码,将一个整数`x`(例如100)转换为浮点数,并打印转换后的值。

3. 条件语句编写一个程序,使用`if-else`语句判断一个整数`n`是否为正数、负数或零。

4. 循环结构使用`for`循环打印出1到10的数字。

5. 数组操作声明一个整型数组`arr`,包含5个元素,初始化为1, 2, 3, 4, 5,并使用循环打印数组元素。

#### 二、函数与指针1. 函数定义与调用定义一个函数`add`,接受两个整数参数并返回它们的和。

在主函数中调用该函数。

2. 指针基础编写一个程序,声明一个整型变量`num`和一个指向整型的指针`p`,将`num`的地址赋给`p`,并打印通过`p`访问的值。

3. 指针与数组使用指针操作上述数组`arr`,打印数组的最后一个元素。

4. 函数与指针定义一个函数`increment`,该函数接受一个整型指针参数,并使该指针指向的值增加1。

#### 三、结构体与联合体1. 结构体定义与使用定义一个结构体`Student`,包含学生的姓名(字符数组)、学号(整数)和成绩(浮点数)。

声明一个`Student`类型的变量,并初始化。

2. 结构体与指针编写一个函数,接受一个指向`Student`结构体的指针,并打印该学生的姓名和成绩。

3. 联合体基础定义一个联合体`Data`,可以存储整数、浮点数或字符。

声明一个`Data`类型的变量,并分别存储不同类型的数据。

#### 四、文件操作1. 文件的打开与关闭编写一个程序,打开一个文本文件(例如`example.txt`),读取文件内容,并在屏幕上打印,最后关闭文件。

2. 文件的写入编写代码,将字符串"Hello, World!"写入到一个新文件中。

C语言期末复习卷习题

C语言期末复习卷习题

期末总复习(基础知识+程序设计部分)一.填空1.已知char ch='A’;则下列表达式的值是: aCh=(ch>=’A’&&ch〈=’Z’)? (ch+32):ch;2。

若x=1,y=2,z=3, 则表达式z+=++x+y++之值是73.若x=2,y=3,则x%=y+3之值为 24.. 若有定义int y=3; float z=5.2, x=4.8;则表达式y+=(int)x+x+z的值为175。

设x,y,z为int型变量,且x=3,y=—4,z=5,请写出下列各表达式的值1)(x&&y)==(x||z) 12)!(x>y)+(y!=z)||(x+y)&&(y-z)03)x++-y+(++z)136。

设x,y,z为int型变量,请用C语言表达式描述下列命题1)x和y中有一个小于z (x〈z&&y>z||x>z&&y〈z )==12) x,y和z中有两个为负数(x〈0&&y<0&&z>=0||z<0&&y<0&&x〉=0||y<0&&x〈0&&z>=0)==13)y是奇数y%2 !=07。

下面for循环语句最多可执行 4 次For (x=0,y=0 ;(y !=99)&&(x<4) ;x++)8。

设i,j,k均为int型变量,则执行以下for语句后,k的值是10for (i=0,j=10 ;i〈=j ;i++,j——)k=i+j ;9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为7 y的值为9z的值为7m=10 ;n=5;x=(-—m==n++)?—-m : ++n;y=m++;z=n;10。

若有说明语句: w=1,x=2,y=3,z=4; 则表达式w〉x? w:z〉y?z:x值是 4 11。

若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储13。

c语言期末复习试题附答案

c语言期末复习试题附答案

c语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。

答案:42. C语言中,一个浮点型数据占____个字节。

答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。

答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。

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语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

C语言考试强化训练题及答案

C语言考试强化训练题及答案

最新C语言考试强化训练题及答案最新C语言考试强化训练题及答案一、单项选择题1). 假设有说明:int a[10];那么对a数组元素的正确引用是A.a[10]B.a[3,5]C.a(5)D.a[10-10]正确答案:D2). 在数据库设计中,将E-R图转换成关系数据模型的过程属于A.需求分析^p 阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段正确答案:B3). 构造化程序设计主要强调的是A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性正确答案:DA.不确定B.4C.3D.1正确答案:C5). int a=1,b=3那么ab的值为A.3B.1C.2D.4正确答案:C二、程序填空题以下给定程序中,函数fun的功能是:将形参n中个位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整数27638496,函数返回值为6____2。

请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的.结果。

注意:局部程序在文件BLANKl.C中。

不得增行或删行,也不得更改程序的构造!#includeunsigned long fun(unsigned long n){unsigned long x=0;int t;参考答案(1)0(2)10*x(3)n/10【考点分析^p 】此题考察:某数,如何求该数各个位数值,各个位数值,如何表示该数;除法运算。

【解题思路】填空l:定义变量t用来存放某数的各个位数值,此处判断t是否为偶数,即对2求余结果是否为0。

填空2:将t作为x的个位数,原来x的各个位上升l 位,即x=10{x+1。

填空3:每循环一次,通过除法运算,去掉数值最后一位。

【解题宝典】假如知道某数n的各个位的数值,可以得到该数值n,如n的个位为a、十位为b、百位为c,那么n=c}100+b*10+a。

假如知道数值n,可以采用求余和除法操作来表示其各个位,如n%10(取个位)、n/J0(取十位),读者可以自己考虑一下,假如是三位数,如何提取各个位?四位数呢?。

计算机二级C语言强化习题题及答案

计算机二级C语言强化习题题及答案

计算机二级C语言强化习题题及答案计算机二级C语言强化习题题及答案2017练习做多了自然会形成自己的做题方法和速度,为此,今天店铺为大家整理了以下2017计算机二级C语言强化习题题及答案,希望对你的学习有帮助!强化习题题一1: 第1题第请编写函数fun,该函数的功能使:统计各年龄段的人数。

N个年龄**调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁的人数放在d[2]中,其余以此类推,把100岁(含100以上年龄的人数都放在d[10]中。

结果在主函数中输出。

答案:void fun(int *a,int *b){int i,j;for(j=0;ib[j]=0;for(i=0;iif(a>=0&a<=9)b[0]+=1;else if(a>=10&a<=19)b[1]+=1;else if(a>=20&a<=29)b[2]+=1;else if(a>=30&a<=39)b[3]+=1;else if(a>=40&a<=49)b[4]+=1;else if(a>=50&a<=59)b[5]+=1;else if(a>=60&a<=69)b[6]+=1;else if(a>=70&a<=79)b[7]+=1;else if(a>=80&a<=89)b[8]+=1;else if(a>=90&a<=99)b[9]+=1;elseb[10]+=1;}2: 第2题请编写函数fun,该函数的功能是:统一一含字符串中单词的个数,作为函数值返回。

一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。

c语言基础期末复习题

c语言基础期末复习题

c语言基础期末复习题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个不是合法的标识符?A. intB. _intC. 2intD. int_2. 下列哪个选项表示一个整型变量?A. int x;B. float x;C. double x;D. char x;3. 在C语言中,以下哪个是正确的字符串定义?A. char str[] = "Hello";B. string str = "Hello";C. char str = "Hello";D. string str[] = "Hello";4. 以下哪个语句可以正确地交换两个变量的值?A. a = a + b;B. a = a + b = a;C. a = b; b = a;D. a = b; b = a;5. 在C语言中,以下哪个选项是正确的数组初始化方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = 1, 2, 3, 4, 5;C. int arr[5] = {1, 2, 3};D. int arr[5] = 1;6. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction();C. myFunction();D. function myFunction;8. 以下哪个是C语言中的循环结构?A. forB. ifC. switchD. do-while9. 在C语言中,以下哪个是正确的结构体定义?A. struct Person { int age; };B. struct { int age; };C. type Person { int age; };D. struct Person int age;10. 下列哪个是C语言中的文件操作函数?A. printf()B. scanf()C. fopen()D. fclose()二、填空题(每空2分,共20分)1. 在C语言中,基本数据类型包括整型(int)、字符型(char)、单精度浮点型(float)和双精度浮点型(double)等。

c语言试题及答案期末

c语言试题及答案期末

c语言试题及答案期末一、选择题(每题2分,共20分)1. 下列关于C语言的描述,错误的是:A. C语言是一种高级编程语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持指针操作答案:B2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言的运算符?A. %B. &&C. <=D. ::答案:D4. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:C5. 在C语言中,用于声明一个字符数组的语法是:A. char array[10];B. char array[];C. char array[10]={0};D. all of the above答案:D6. 下列哪个选项是正确的C语言注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:B7. 在C语言中,用于定义一个全局变量的关键字是:A. externB. staticC. constD. auto答案:A8. 下列哪个选项是C语言中的合法整数常量?A. 0x1AB. 1.23C. 0x1A.2BD. 0123答案:A9. 在C语言中,用于定义一个二维数组的语法是:A. int array[3][4];B. int array[3][4]={0};C. int array[][4]={0};D. all of the above答案:D10. 下列哪个选项是C语言中正确的文件操作函数?A. fopenB. fcloseC. fprintD. all of the above答案:D二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的语句是:______。

c语言期末复习试卷

c语言期末复习试卷

复习题(一)1。

用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标2。

下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。

【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。

【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

c语言期末复习题

c语言期末复习题

c语言期末复习题C语言是计算机编程的基础之一,掌握C语言对于理解计算机编程的基本概念和技巧至关重要。

以下是一份C语言期末复习题,旨在帮助学生复习和巩固所学知识。

# C语言期末复习题一、选择题1. C语言中,以下哪个不是合法的变量名?A. 2variableB. variable2C. _variableD. variable2. 在C语言中,哪个关键字用于定义函数?A. defineB. functionC. voidD. int3. 下列哪个语句可以正确地交换两个变量的值?A. `a = a + b;`B. `a = b; b = a;`C. `a = a - b;`D. `a = b; b = a - b; a = a - b;`4. C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!" "Hello, World!"D. {"Hello, World!"}5. 在C语言中,以下哪个不是控制结构?A. ifB. switchC. forD. return二、填空题1. 在C语言中,使用________关键字可以定义一个数组。

2. 一个C语言程序的执行从________函数开始。

3. 函数________用于计算两个数的和。

4. 在C语言中,使用________语句可以实现循环。

5. 字符串在C语言中以________结尾。

三、简答题1. 解释C语言中的指针是什么,并给出一个使用指针的简单示例。

2. 描述C语言中结构体(struct)的概念及其用途。

3. 解释C语言中函数的传值调用和传址调用的区别。

四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和、差、积、商。

2. 设计一个函数,该函数接受一个字符串作为参数,并返回该字符串反转后的结果。

c语言期末考试复习题

c语言期末考试复习题

c语言期末考试复习题一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. structB. ifC. voidD. return2. 下面哪个选项是C语言中的合法常量?A. 0.123E-2B. 0.123e2.3C. 0.123e-2.3D. 0.123e3. 在C语言中,哪个运算符用于计算两个整数的平均值?A. /B. %C. +D. /4. 以下哪个选项不是C语言的基本数据类型?A. intB. floatC. charD. string5. 在C语言中,以下哪个语句用于结束当前循环?A. continue;B. break;D. return;C. exit;6. 下面哪个选项是C语言中的合法数组声明?A. int arr[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. All of the above7. 在C语言中,以下哪个关键字用于定义一个结构体?A. unionB. enumC. structD. typedef8. 以下哪个选项是C语言中正确的函数声明?A. int myFunction(int x, int y);B. int myFunction(x, y) int x, y;C. int myFunction(int x, int y) { ... }D. int myFunction(int, int);9. 在C语言中,哪个函数用于计算两个数的乘积?A. powB. sqrtC. multiplyD. None of the above10. 下面哪个选项是C语言中正确的字符串声明?A. char str[10] = "Hello";B. char str[] = "Hello";C. char str = "Hello";D. Both A and B二、填空题(每空2分,共20分)11. C语言中,定义一个整型变量的关键字是______。

c语言期末的考试复习题

c语言期末的考试复习题

c语言期末的考试复习题c语言期末的考试复习题C语言是一门通用计算机编程语言,下面是店铺整理的c语言期末的考试复习题,希望对你有帮助。

单项选择题1.(D)是合法的用户自定义标识符。

A、 b-bB、floatC、D、 _isw2.若变量已正确定义并赋值,表达式(B)不符合C语言语法。

A、a*b/c;B、3.14%2C、2, bD、a/b/c3.(C)是不正确的字符常量。

A、'n'B、'1'C、"a"D、'101'4.在 C 程序中,用(B)表示逻辑值“真”。

A、1B、非 0 的数C、非 1 的数D、大于 0 的数5.(C)把x、y定义成float类型变量,并赋同一初值3.14。

A、float x, y=3.14;B、float x, y=2*3.14;C、float x=3.14, y=x=3.14;D、float x=y=3.14;6.若变量已正确定义,表达式(C)的值不是2。

A、2&3B、1<<1C、a==2D、1^37.若变量已正确定义,语句“if(a>b) k=0; else k=1;”和(C)等价。

A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8.设变量定义为“int a, b;”,执行下列语句时,输入(D),则a 和b的值都是10。

scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109.下列程序的输出结果是(D)。

fun(int a, int b, int c){ c =a*b; }void main( ){ int c;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、无法确定10.在C程序中,若对函数类型未加说明,则函数的隐含类型为(A)。

C语言练习题及答案

C语言练习题及答案

C语言练习题及答案综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。

A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3 B) 3 3.500000C) 3.500000 3.500000 D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A) 3.65e3 B)0.356E3 C)356e3 D)3.56e3.09、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。

c 期末复习题

c 期末复习题

c 期末复习题C 期末复习题期末考试即将到来,作为学生们最重要的考试之一,我们需要做好充分的准备。

为了帮助大家更好地复习,本文将提供一些C语言期末复习题,希望能够对大家有所帮助。

1. 什么是C语言?C语言是一种通用的高级编程语言,由贝尔实验室的Dennis Ritchie于1972年设计开发。

它被广泛应用于系统软件、嵌入式系统和应用软件的开发中。

2. C语言的基本数据类型有哪些?C语言的基本数据类型包括整型、浮点型、字符型和布尔型。

整型可以分为有符号和无符号两种,浮点型可以分为单精度和双精度。

3. 请写一个C语言程序,实现两数相加的功能。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```4. C语言中的循环结构有哪些?C语言中的循环结构包括for循环、while循环和do-while循环。

for循环适用于已知循环次数的情况,while循环适用于不确定循环次数的情况,do-while循环至少执行一次循环体。

5. 请写一个C语言程序,计算1到100之间所有偶数的和。

```c#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```6. C语言中的条件语句有哪些?C语言中的条件语句包括if语句、if-else语句和switch语句。

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

C语言期末复习题1.构成C语言源程序的基本单位是_D___A.子程序B.过程C.文本D.函数2. 在一个C程序中,main()函数_B__A.必须出现在所有函数之前B.可以在任可地方出现C.必须出现在所有函数之后D.以上都不对3.以下描述正确的是_A___A.最简单的C源程序可以不包括任何内容。

B.编译程序对C源程序编译时不检查语法。

C.C程序中没有输入输出语句。

D.在C程序中,至少必须有一个main()函数。

4.C语言是一种___结构__化程序设计语言结构5.下面不正确的字符串常量是__A__A.‟AB‟B.”ab‟ab”C.”a”D.”“6.下面四个选项中均是合法的整型常量的是:____A__A.340,025,-11B.02,0x,03fC.-0X2A,985.768,4d2D.0X15,0X2,-760x7.设有定义:int a=10;则表达式a+=a*=a的值是:___D_A.10B.100C.1000D.2008.设有如下定义:int a=1,b=2,c=3,d=4,x=2,y=2;则表达式(x=a>b)&&(y=c>d)运算后,y的值为____B___A.1B.2C.3D.49.能正确表示逻辑关系“a大于等于10或小于等于0”的C语言表达式是__D__A.a>=10 or a<=0B.a>=0 | a<=10C.a>=10 && a<=10D.a>=10 || a<=010.设m是int型变量,则表达式(m=2*3,m+4),m*3的值是__18____11.以下程序段执行后z的值是__0__int x,y,z;x=1;y=2; z=1.0/y*x答:12.以下程序段的输出结果是__b__main(){ char m; m=‟B‟+32; printf(“%c\n”,m);}则输出的结果是:_____13. 表达式7/3*(int)3.14/(int)(1.2*(5+2.3))的数据类型为___整型__,表达式的值为_0____ 整型14.计算下列表达式的值:设int a=3,b=4,c=5;float k=3.6;(1)a/b*c =3/4*5=0(2)a*b%c =3*4%5=2(3)k/a+2*b =3.6/3+2*4=9.0(4) (int)(k+6/a*b) = (int)(3.6+6/3*4)=11(5) sizeof(a) =4(6)a+=a*=a+b =42(7) c%b-a/2 =0(8) !(a*b-12) =1(9)(a*b-2)==c+3 =0(10)c>b>a =015.若有以下语句组,则输出结果是_B__int x=0; if(x++<0) printf(“%d”,- -x);printf(“%d”,x++);A.-1B.1C.-1-1D.-1 0答:16.以下程序的输出结果是:__Dmain() {int x=3,y=0,z=0;if(x=y+z) printf(“****”);else printf(“####”);}A.有语法错误不能通过编译B.输出****C.通过编译,但不能通过连接D.输出####答案17.以下程序的运行结果是:__ y is 1_ I do this _main(){ int x=1,y=1;switch (x){case 1:switch(y){case 0:printf(“y is 0.\n”); break;case 1: printf(y is 1.\n”); break;default:printf(“y is unknown.\n”); break;}case 2:printf(“I do this.\n”);}}答案:I do this18.C语言中,while与do—while语句的主要区别是__A__ A.do—while 的循环体至少无条件执行一次。

B.do-while允许从外部跳到循环体内。

C.while循环体至少无条件执行一次。

D.while的循环控制条件比do-while的严格。

答案:19.以下说法正确的是__D__A.C语言中不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出。

C.do-while语句构成的循环,当while后圆括号内的表达式的值为非零时结束循环。

D.do-while语句构成的循环,当while后圆括号内的表达式值为零时结束循环。

答案20.下面关于for 语句的正确描述为:(D)A.for语句只能用于循环次数已经确定的情况B.for语句是先执行循环体语句,再判断表达式C.在for语句中,不能用break语句跳出循环体。

D.在for语句的循环体语句中,可以包含多条语句,但必须用大括号括起来。

答案:21对于for(表达式1;;表达式3)可以理解为__B___A.for(表达式1;0;表达式3)B.for(表达式1; 1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)22.以下程序执行后,输出“#”号的个数是:___C__main(){ int i,j; for(i=1;i<5;i++)for (j=2;j<=i;j++) printf(“#”);}A.0B.4C.6D.7答案:23.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为__B__for(i=0,j=10;i<=j;i++,j--) k=i+j;A.9B.10C.11D.12答案24以下程序输出的结果是:____0122_main(){int i;for(i=0;i<3;i++)switch(i){case 1: printf(“%d”,i);c ase 2: printf(“%d”,i);default:printf(“%d”,i);}}答案:25.请填入一个整数,使以下程序段输出10个整数。

for(i=0;i<=__20_;printf(“%d\n”,i+=2));答案:26编程序打印所有的水仙花数。

所谓水仙花数是指一个3位数,其各位数字的立方和等于该数。

如:153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。

#include<stdio.h>main(){int i,j,k,n;for(i=100;i<1000;i++){j=i/100;k=i%100/10;n= i%100%10;if(i==j*j*j+k*k*k+n*n*n)printf(“%d\n”,i);}}27.打印出以下图案:****************#include<stdio.h>main( ){ int i,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++) printf(“ “);for(j=1;j<=2*i-1;j++) printf(“*”);printf(“\n”);}}28.以下描述正确的是__D__A.return语句是函数中不可缺少的语句B.函数中不可以有多条return 语句C.函数中,return 后面一定要有表达式。

D.函数返回值一定要通过return语句返回。

答案29.一个函数返回值的类型取决于__C__ A.定义函数时指定或缺省的函数类型B.调用该函数时临时指定C.调用该函数的主调函数的类型D.return语句中表达式的类型答案30.以下叙述正确的是___B_A.一个源程序中只能有一条文件包含命令。

B.预处理命令都必须以“#”开头C.预处理命令必须定义在程序的头部。

D.以下是正确的宏定义:#define IBM-PC答案:B31.以下程序的输出结果是__D__#include “stdio.h”int fun(int a ,int b){return a+b;}void main(){int x=2,y=5,z=8,r;r=fun(fun(x,y),z);printf(“%d”,r);}A.12B.13C.14D.1532.以下程序的输出结果是__A_#include <stdio.h>int f(int n){ if(n>2)return (f(n-1)+f(n-2));else return 2;}void main(){ printf(“%d\n”,f(3));}A.4B.6C.2D.833.以下程序的输出结果是:___2510=2__void main(){int a ,b,c;a=10;b=25;c=f(a,b);printf(“%d/%d=%d”,b,a,c);}f(int m,int n){return (n/m);}答案:1)以下符合C语言语法的实型常量是(B)A) 1.2E0.5B) 3.14.159EC) .5E-3D) E152)给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为(B)A)数组X和数组Y等价B)数组X的长度大于数组Y的长度C)数组x和数组Y的长度相同D)数组X的长度小于数组Y的长度3)不能把字符串:Hello!赋给数组b的语句是(A )A)char b[10]={'H','e','l','l','o','!'};B)char b[10];strcpy(b,"Hello!");C)char b[10]="Hello!";D)char b[10];b="Hello!";4) 若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4的表达式是(D)A) a[g-c]B) a[4]C) a['d'-'c']D) a['d'-c]5) 设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是(D )scanf(“%d”,pa) ;scanf(“%d”,a) ;scanf(“%d”,&pa);scanf(“%d”,*pa);6) 若有以下函数调用语句fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是(A)A)3B)4C)5D)67) 有以下程序void fun (int a,int b,int c){a=456;b=567;c=678;}main(){int x=10,y=20,z=30;fun (x,y,z);printf("%d,%d.%d",x,y,z);}输出结果是(B)A)30,20,10B)10,20,30C)456,567,678D)678,567,4568) 定义如下变题和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是: (B)for(i=0;i<3;i++) printf("%d",*x[2-i]);A) 1 5 9B) 7 4 1C) 3 5 7D) 3 6 99) 以下程序运行后,输出结果是(A)int d=1;fun(int p){int d=5;d+=p++;printf("%d",d);}main(){int a=3;fun(a);d+=a++;printf("%d\n",d);}A)84B)99C)95D)4410)下面程序的输出是(B)A) 3B) 4C) 6D) 9fun3(int x){static int a=3;a+=x;return(a);}main(){ int k=2, m=1, n;n=fun3(k);n=fun3(m);printf("%d\n",n);}11) 当调用函数时,实参是一个数组名,则向函数传送的是(C)A)数组的长度B)数组每一个元素的地址C)数组的首地址D)数组每个元素中的值12) 以下程序void sort(int a[],int n){ int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a<a[j]) {t=a;a=a[j];a[j]=t;}}main(){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++) printf("%d,",aa);printf("\n");}程序运行后的输出结果是(A)。

相关文档
最新文档