C语言期末试卷A12_13_1(含答案)
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 ;以下描述正确的是。
2022年深圳大学公共课《C语言》科目期末试卷A(有答案)

2022年深圳大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。
2、在C语言源程序中,一个变量代表【】。
3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。
5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
6、下面程序段的运行结果是_______。
Char a[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;10、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);二、选择题11、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( )A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中任一种字符12、下面正确的字符常量是( )A."c"B. "\\"C. 'w'D. "13、阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果#include<stdio.h>int main(){int x,y,z;scanf("%d%d%d”,8.x.&y,&z);printf("x+y+z=%d\n",x+y+z);return0;}A.x+y+z=48B.x+y+z=35C.x+z=35D.不确定值14、设有如下程序:#include<stdio.h>int main(){char ch1='A',ch2='a';printf("%c\n",(chl,ch2));return 0;}则以下叙述中正确的是()。
c语言期末试题及答案及详解

c语言期末试题及答案及详解本文将提供C语言的期末试题及答案,并对每个问题进行详细解析,旨在帮助读者更好地理解和掌握C语言知识。
每个问题都将以清晰的排版和通顺的语句进行阐述,以确保文章的可读性和表达流畅。
试题一:1. 以下代码段输出的结果是什么?```c#include <stdio.h>int main() {int x = 6 / 2 * (1 + 2);printf("%d", x);return 0;}```答案及详解:输出的结果是9。
这个问题考察了C语言中的运算符优先级。
根据优先级规则,先计算括号内的表达式1 + 2,结果为3。
然后进行乘法运算6 / 2 * 3,结果为9。
最后通过printf函数将结果打印出来。
试题二:2. 以下代码段中存在什么错误,并进行改正。
```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", num1, num2);int sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```答案及详解:代码存在的错误是scanf函数参数传递时变量名未加取地址符&,需要改正为scanf("%d %d", &num1, &num2)。
scanf函数用于从标准输入读取数据,需要通过取地址符&将变量的地址传递给scanf函数,以便将读取的数据存储到相应的变量中。
在给定的代码中,应该在num1和num2前面加上&,即scanf("%d %d", &num1, &num2)。
试题三:3. 下面的代码中,函数fun的返回值是什么?```c#include <stdio.h>int fun(int *arr, int n) {if (n == 0) {return 0;}return (*arr) + fun(arr+1, n-1);}int main() {int arr[] = {1, 2, 3, 4, 5};int sum = fun(arr, 5);printf("数组元素的和为:%d", sum);return 0;}```答案及详解:函数fun的返回值是数组元素的和。
2022年成都东软学院公共课《C语言》科目期末试卷A(有答案)

2022年成都东软学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言中的实型变量分为两种类型,它们是_______和_______。
5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。
6、请填空:建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;10、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
二、选择题11、对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式是( )12、下面4个选项中,是合法转义字符的选项是( )。
大学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.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%某B)a+bC)a123D)123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的“\\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言作为计算机编程的基础语言,其期末考试通常包含对基础语法、数据结构、算法设计等方面的考察。
以下是一份C语言期末考试题库及详解答案,供学生复习参考。
1. 编写一个C程序,实现两个整数的加法运算,并输出结果。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数相加的结果是:%d\n", sum);return 0;}```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[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```3. 编写一个C程序,实现查找数组中的最大值,并输出其索引。
```c#include <stdio.h>int main() {int arr[] = {5, 10, 15, 20, 25};int maxIndex = 0;for (int i = 1; i < 5; i++) {if (arr[i] > arr[maxIndex]) {maxIndex = i;}}printf("数组中的最大值是:%d,其索引为:%d\n",arr[maxIndex], maxIndex);return 0;}```4. 编写一个C程序,实现冒泡排序算法。
(完整word版)C语言中职期末试卷(含答案),推荐文档

**市中职中学2015—2016年度(下)期末《C 语言程序设计基础》试卷(考试时间:60分钟 总分:100分 适应班级: 级 班)注:1、答题前,务必将自己的班级、姓名、学号填写在相应的位置上。
2、请将答案按照题号顺序在各题目的答题区域内作答;保持答题卷清洁。
3、超出答题区域书写的答案无效。
一、填空题(每题2分,共30分)1、C 语言源程序是由 函数 组成的,人们称C 语言为高级语言,一个函数由函数头、 函数体 两部分组成。
2、定义值为2016的符号常量VER 的命令是: #define VER 2016 。
3、实型常量的十进制小数形式要求小数点两边 至少一边有数字 ,而指数形式中E(或e)的前后必须有数字,后边的数必须为 整数 。
4、表达式5/2的值和表达式 (double)5/2 的值分别是 2 、 2.500000 。
5、连续输入多个数值型数据时,数据之间用 空白字符 分隔。
6、格式转换说明符要与输入地址列表中的变量 一一对应 。
7、C 语言规定,为了在程序中能够正确使用输入输出函数,需要在源程序开始写上 #include “stdio.h ” 预处理命令。
8、程序设计的初期一般用自然语言、流程图、伪代码等工具来表示算法,其中 流程图 表示具有直观、易于交流的特点。
9、模块化程序设计的思路是 自顶而下,逐步细化 。
在C 语言中实现程序化模块的工具是 函数 。
10、C 语言规定,逻辑真用1表示,逻辑假用0表示。
设x 为整形变量,值为1,则表达式(x&&1)= =(x%2)的值为 1 。
11、与数学表达式|x|>10意思相同的C 语言表达式为 x>10||x<-10 。
二、单项选择题(每题3分,共30分)(注:表示空格)1.下面正确的整型常量是()。
A.009B.x789 C.2e3D.9002.在C语言中,要求运算数必须是整型的运算符是()。
A、/ B、++ C、*=D、%3.有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。
C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。
2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。
3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。
4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。
5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。
6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。
函数可以没有返回值,此时函数类型为 void 。
7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。
8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黄冈职业技术学院2012~2013学年度第1学期 《 C 语言程序设计》期末考试试卷(A 卷) (本试卷适用班级:2012级软件外包服务专业) 一、选择题(本大题共20小题,每小题1.5分,共30分) 1、C 语言中最简单的数据类型包括( ) A )整型、实型、逻辑型 B )整型、实型、字符型 C )整型、字符型、逻辑型 D )字符型、实型、逻辑型 2、以下关于C 语言程序执行的描述,正确的是( )。
A)C 语言执行的程序总是从main()函数开始,到main()函数结束 B)C 语言程序的执行是从第一个函数开始,到程序文件的最后一个函数结束 C)C 语言程序的执行是从第一个函数开始,到main()函数结束 D)C 语言程序的执行总是从main()函数开始,到程序文件的最后一个函数结束 3、C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )A )必须为字母B )必须为下划线C )必须为字母或下划线D )可以是字母,数字和下划线中任一字符 4、下列可用于C 语言用户标识符的一组是( ) A )void, define, WORD B )a3_b3, _123,Car C )For, -abc, IF Case D )2a, DO, sizeof 5、以下描述错误..的是( )。
A)C 语言源程序经编译后生成后缀名为.obj 的目标程序( ) B)C 语言程序经过编译、连接等步骤之后才形成一个真正可以执行的二进制机器指令文件 C)用C 语言编写的程序被称为源程序,它以ASCII 代码的形式存放在一个文本文件中 D)C 语言每条可执行与非执行语句最终都将被转换成二进制机器指令 6、在C 语言中,char 型数据在内存中的存储形式是( )A )补码B )反码C )原码D )ASCII 码7、C 语言中运算对象必须是整型的运算符是( )A )%B )/C )=D )<=8、设有定义char a,b;若通过a&b 运算保留a 的第3位和第6位的值,则b 的二进制数应是( ).A) 00100100 B) 11011011 C) 00010010 D) 01110010命题人 题 号 一 二 三 四 五 总 分 黄国军 应得分 30 20 24 10 16 100 实得分 评卷人 得 分 -----------------------------------装------------------------------------订------------------------------------线------------------------------------教学学院:___________年级:____________专业班级:____________姓名:______________学号:______________ -------------------------------密-----------------------------------------封--------------------------------线----------------------------------------9、.若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为( ).A) 1.0 B) 1 C) 2.0 D) 210、设int x=1,int y=1,则表达式(! x||y--)的值是( ).A) 0 B) 1 C) 2 D) -111、试从以下选项中选择能够正确表示逻辑关系“a>=5或a<=0”的C语言表达式。
( ).A) a>=5 or a<=0 B) a>=5 | a<=0C) a>=5 && a<=0 D) a>=5 || a<=012、以下对以为数组正确的初始化方式是A) int a[10]=(0,0); B) float a(3,4);C) int a[]={0}; D) int a[10]=[10*1]13、以下表达式中的()能够正确表示代数式(a+b)/c*d。
A) a+b/c*d% B) (a+b)/c*dC) float(a+b)/c*d D) 1.0*(a+b)/c/d14、下述循环次数是()int k=2while(k=0)printf("%d",k);k--;printf("\n");A)无限次B)0次C)1次D)2次15、以下描述中正确的是()A)函数的定义不可以嵌套,但是函数的调用可以嵌套B) 函数的定义可以嵌套,但是函数的调用不可以嵌套C)函数的定义和函数的调用均不可以嵌套D) 函数的定义和函数的嵌套都可以嵌套16、在C语言中,函数的返回值类型由()决定。
A) return语句中的表达式类型B) 调用函数的主调函数类型C) 调用函数时的临时值D) 定义函数时所指定的函数类型17、在函数调用fun(x+y,(a+b),fun(x,y,(a,b)))中,实参的个数是()A)3 B)4 C)6 D)818、在源文件中定义的外部变量的作用域为()。
A) 本文件的全部范围B) 本程序的全部范围C) 本函数的全部范围D) 从定义该变量的位置开始至本文件结束19、已知有数组定义如下;int array[][3]={1,2,3,4,5,6};则数组array 第一个维度的大小是( )A)2 B)3 C)4 D)无确定值20、C 语言对嵌套if 语句的规定是:else 总是与( )A)其之前最近的if 语句B )第一个if 配对C)缩进位置相同的if 配对D)其之前最近的且尚未配对的if 配对二、填空题(本大题共10小题,每小题2分,共20分) 1、一个C 语言程序中一定包含一个__main(主)___函数。
2、已知 int x=5,y=3,表达式y+=y-=x*=y 的值是 __-24_。
3、设 x=3.5,y=8,则(int)x+y 的值是 ____11_____。
4、表示“整数x 的绝对值小于5”时值为“真”的C 语言表达式____x<5&&x>-5_______。
5、设x,y,z 均为int 型变量,写出描述“x 或y 中至少有一个小于z ”的表达式___x<z||y<z ______。
6、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};初始化后, a[2][1]得到的初始值是__6______。
7、以下程序的输出结果是__1234___。
int a=1234;printf ("%2d \n",a );8、若有如下定义,double a [100];则a 数组元素的下标上限是___99____。
9、设x 、y 均为整型变量,且x=10 y=3,则以下语句的输出结果是__10 2______。
printf ("%d %d \n",x--,--y );10、下面程序的功能是输出数组s 中最大元素的下标,请填空。
main (){ int k, p,s []={1, -9, 7, 2, -10, 3};for (p =0, k =p; p< 6; p++)if (s [p ]>s [k ])__k=p_____;printf ("%d \n", k );}三、程序填空题(本大题共4小题,共12空,每空2分,共24分)1、有圆柱,其高为h,半径为r,以下程序求圆柱体的面积,对程序进行填空。
#include<stdio.h>___1__#define PI 3.14_void main(){float h,r,area; //h 表示高度,r 表示半径,area 表示面积printf("请输入圆柱体的高度\n");scanf("%f",&h); 得 分得 分printf("请输入圆柱体的半径\n");___2__scanf(“%d”,&r)___;area =____3__2*PI*r*h+2*PI*r*r__;printf("圆柱体的面积:%f\n",area);}2、以下程序功能是:输出100以内能被3整除且个位数是6的所有整数,试填空。
#include<stdio.h>{int i,j;for(i=0;_ 4i<10(i<=9)_;i++){j=i*10+6;if(j%3 (j%3!=0)__)continue;printf("%d",j);}}3、阅读以下程序并填空,该程序求阶乘的累加和,计算公式如下:S=0!+1!+2!+3!+...+n!#include<stdio.h>long f(int n){int i;long s;s=_1_;for(i=1;i<=n,i++)s=s*i_;return s}void main(){long s;int k,n;scanf("%d",&n);s=0;for(k=0;k<=n;k++)s=s+f(k)_;printf("%ld\n",s);}4、以下程序完成一个十进制数转换为十六进制数,试将以下程序补充完整,实现该功能。
#include<stdio.h>void main(){int i=0,j,n,r;char num[4];printf("Enter a numbei:");scanf("%d",&n);do{i++;r= n%16 ;if(r<10)num[i]= r ;elsenum[i]= …A‟+r-10 (…a‟+r-10) ;n=n/16;}while(n!=0);for(j=i;j>0;j--)printf("%c",num[j]);}四、写出以下程序的运行结果(本大题共2小题,每小题5分,共10分)得分1、#include<stdio.h>viod swap(int a,int b){int temp;temp=a;a=b;b=temp;}viod main(){int x,y;x=10;y=20;swap(x,y);printf('%d %d\n'.x.y);}10 202、#include<stdio.h>void main(){int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++)n[i+1]=n[i]+1;printf("%d\n",n[k]);}2五、编程题(本大题共2小题,每小题8分,共16分)1、已知圆周率计算方法: ...)71513111(4+-+-⨯≈π 试编写程序进行计算。