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解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
2022年东北石油大学公共课《C语言》科目期末试卷A(有答案)
2022年东北石油大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、与表达式x^=y-2等价的另一书写形式是_______。
2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。
5、在C语言中的实型变量分为两种类型,它们是_______和_______。
6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++) printf("%d,",_______); printf("\n");7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
9、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
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、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。
c语言期末考试卷答案
试卷编号:451所属语言:C语言试卷方案:2019-2020(2)C语言期中考试试卷总分:100分共有题型:4种一、判断共25题(共计25分)第1题(1.0分)题号:1114 难度:中第1章在C语言程序设计中,"/*"和"*/"之间的内容是C语言的注释.答案:Y第2题(1.0分)题号:1115 难度:易第1章c程序总是从程序的第一条语句开始执行.答案:N第3题(1.0分)题号:1152 难度:中第2章int k=8567;printf("|%-6d|\n",k);的输出为|008567|.答案:N第4题(1.0分)题号:1132 难度:中第2章C程序中的关键字必须小写,其他标识符不区分大小写.答案:N第5题(1.0分)题号:1174 难度:中第3章在C程序中,赋值运算符的优先级最低.答案:N第6题(1.0分)题号:1168 难度:中第3章若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真".答案:Y第7题(1.0分)题号:1164 难度:中第3章7&3+12的值是15.答案:N第8题(1.0分)题号:1173 难度:中第3章在C程序中,逗号运算符的优先级最低.答案:Y第9题(1.0分)题号:1172 难度:中第3章关系运算符<= 与 == 的优先级相同.答案:N第10题(1.0分)题号:1184 难度:中第4章设x、t均为int型变量,则执行语句"x=10;t=x&&x<=10;"后,t的值为1.答案:Y第11题(1.0分)题号:1181 难度:中第4章若a是实型变量,C程序中允许以下赋值a=10;因此,实型变量中允许存放整型数据. 答案:N第12题(1.0分)题号:1179 难度:中第4章若a和b的类型相同,在执行了a=b;后,b中的值将丢失.答案:N第13题(1.0分)题号:1178 难度:中第4章x*=y+8 等价于 x=x*(y+8).答案:Y第14题(1.0分)题号:1180 难度:中第4章若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变. 答案:Y第15题(1.0分)题号:1182 难度:中第4章若a是实型变量,在执行了a=5;后,a将变为整型变量.答案:N第16题(1.0分)题号:1185 难度:中第4章设x、t均为int型变量,则执行语句"x=10;t=x&&x>10;"后,t的值为0.答案:Y第17题(1.0分)题号:1186 难度:中第4章在C程序中,j++;是一条赋值语句.答案:Y第18题(1.0分)题号:1197 难度:中第5章与 if(E) 语句中的(E)等价的表达式是 (E==0).答案:N第19题(1.0分)题号:1187 难度:中第5章C语言的if语句嵌套时,if与else的匹配关系是每个else与if的匹配是任意的. 答案:N第20题(1.0分)题号:1198 难度:中第5章在C语言中,逻辑"真"等价于不等于0的数.答案:Y第21题(1.0分)题号:1189 难度:中第5章if后面的控制表达式可以不用括号括起来.答案:N第22题(1.0分)题号:1194 难度:中第5章int i=3,j=5; if(i>j);是正确的.答案:Y第23题(1.0分)题号:1190 难度:中第5章if语句后面的控制表达式只能使用关系表达式或逻辑表达式.答案:N第24题(1.0分)题号:1201 难度:中第5章开关语句switch最多可形成三个分支.答案:N第25题(1.0分)题号:1200 难度:中第5章int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A.答案:N二、单选共25题(共计25分)第1题(1.0分)题号:6170 难度:中第1章C语言程序的基本单位是().A:函数B:过程C:子程序D:子例程答案:A第2题(1.0分)题号:5214 难度:中第1章一个C语言程序是由().A:一个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B第3题(1.0分)题号:5284 难度:中第2章若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97), 则以下程序段的执行结果是().ch='a'; k=12; printf("%x,%o,",ch,ch,k); printf("k=%%d\n",k);A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%dD:61,141,k=%12答案:C第4题(1.0分)题号:5232 难度:中第2章C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符().A:必须为字母B:必须为下划线C:必须为字母或下划线D:可以是字母,数字和下划线中任一字符答案:C第5题(1.0分)题号:5343 难度:中第3章若给定条件表达式(M)?(a++):(a--),则其中表达式M().A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C第6题(1.0分)题号:6234 难度:中第3章语句printf("%d",(a=2)&&(b=-2));的输出结果是().A:无输出B:结果不确定C:-1D:1答案:D第7题(1.0分)题号:5301 难度:中第3章C语言能正确处理的指数是().A:8.5e4288B:e-32C:123000000000D:4.5e-5.6答案:C第8题(1.0分)题号:5350 难度:中第3章下列运算符中优先级最高的是().A:<B:+C:&&D:!=答案:B第9题(1.0分)题号:5304 难度:中第3章逻辑运算符两侧运算对象的数据类型().A:只能是0或1B:只能是0或非0正数C:只能是整型或字符型数据D:可以是任何类型的数据答案:D第10题(1.0分)题号:5384 难度:中第4章以下不符合C语言语法的赋值语句是().A:j++;B:j=j=5;C:k=2*4,k*4;D:y=float(j);答案:D第11题(1.0分)题号:5374 难度:中第4章若有以下定义:char s='\092'; 则该语句().A:使s的值包含1个字符B:定义不合法,s的值不确定C:使s的值包含4个字符D:使s的值包含3个字符答案:B第12题(1.0分)题号:5380 难度:中第4章先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(). A:c='a';B:c="a";C:c="97";D:C='97'答案:A第13题(1.0分)题号:6244 难度:中第4章能正确表示a和b同时为正或同时为负的逻辑表达式是().A:(a>=0||b>=0)&& (a<0||b<=0)B:(a>=0&&b>=0)&& (a<0&&b<=0)C:(a+b>0)&& (a+b<=0)D:a * b >0答案:D第14题(1.0分)题号:5379 难度:中第4章下列语句的结果是().main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A:3,3B:3,4C:4,3D:4,4答案:D第15题(1.0分)题号:6246 难度:中第4章下列关于switch语句和break语句的结论中,正确的是().A:break语句是switch语句中的一部分B:在switch语句中可以根据需要使用或不使用break语句C:在switch语句中必须使用break语句D:break语句只能用于switch语句中答案:B第16题(1.0分)题号:6251 难度:中第4章有一函数如图: ,以下程序段中不能根据x值正确计算出y值的是().A:if(x >0) y =1;else if(x = =0) y =0;else y = -1;B:y =0;if(x >0) y =1;else if (x <0) y = -1;C:y=0;if(x > =0)if(x >0) y =1;else y =-1;D:if(x > =0)if(x >0) y =1;else y =0;else y = -1;答案:C第17题(1.0分)题号:5370 难度:中第4章若变量均已正确定义并赋值,以下合法的C语言赋值语句是().A:x=n/2.5;B:x==5;C:x+n=I;D:5=x=4+1;答案:A第18题(1.0分)题号:5400 难度:中第5章int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第19题(1.0分)题号:5401 难度:中第5章int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为().A:1B:2C:3D:不一定答案:B第20题(1.0分)题号:6274 难度:中第5章有以下程序段:int k=0;while(k=1)k++;while循环执行的次数是().A:无限次B:有语法错误,不能执行C:一次也不执行D:执行一次答案:A第21题(1.0分)题号:6275 难度:中第5章以下程序中,while循环的循环次数是().#include<stdio.h>void main(){ int i=0;while(i<10){ if(i<1) continue;if(i= =5) break;i++; }……}A:1B:10C:6D:死循环,不能确定次数答案:D第22题(1.0分)题号:5407 难度:中第5章在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式().A:只能用逻辑表达式B:只能用关系表达式C:只能用逻辑表达式或关系表达式D:可用任意表达式答案:D第23题(1.0分)题号:6256 难度:中第5章下列程序执行后的输出结果是().void main(){ int k=5;while(--k) printf("%d",k-=3);printf("\n"); }A:1B:2C:4D:死循环答案:A第24题(1.0分)题号:5408 难度:中第5章执行下列语句后的输出为().int j=-1;if(j<=1) printf("****\n");else printf("%%%%\n");A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A第25题(1.0分)题号:6268 难度:中第5章在while(x)语句中的x与下面条件表达式等价的是().A:x= =0B:x= =1C:x!=1D:x!=0答案:D三、程序填空共3题(共计30分)第1题(10.0分)题号:961 难度:中第3章/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为: 2,在程序中定义的变量名要与公式的变量相同)。
2022年天津中医药大学公共课《C语言》科目期末试卷A(有答案)
2022年天津中医药大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、在C语言源程序中,一个变量代表【】。
3、结构化程序由________、________ 、________ 3种基本结构组成。
4、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、若有以下定义和语句,在程序中可通过指针数组p,用*(p[i]+j)等4种形式引用数组元素s[i][j],另3种形式分别是:_______、_______和_______。
(假设i、j已正确说明并赋值。
)int s[10][6],*p[10];for(i=0;i<10;i++)p[i]=s[i];7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
2022年池州学院公共课《C语言》科目期末试卷A(有答案)
2022年池州学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、在C语言源程序中,一个变量代表【】。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、下面程序段的运行结果是_______。
char s[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、假设变量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;_______;9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}10、字符串"ab\n\\012\\\"”的长度是_______。
2022年湖南中医药大学湘杏学院公共课《C语言》科目期末试卷A(有答案)
2022年湖南中医药大学湘杏学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x为无符号整数。
表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x 中从第p位开始的n位求反(1变0,0变1),其他位不变。
请按表达式的求值顺序写出分解步骤,并解释含义。
__________________________________2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言源程序的基本单位是________4、在C语言的赋值表达式中,赋值号左边必须是_______5、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______6、若想输出b数组的10个元素,则下面存在错误的程序行是_______。
(每个程序行前面的数字代表行号。
)1 int main()2 {int b[10]={1,3,5,7,9,2,4,6,8,10},k;3 for(k=0;k<10;k++,b++)4 printf("%4d",*b);5 return0;6 }7、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
9、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);10、下面程序段的运行结果是_______。
2022年榆林学院公共课《C语言》科目期末试卷A(有答案)
2022年榆林学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、与表达式x^=y-2等价的另一书写形式是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、结构化程序由________、________ 、________ 3种基本结构组成。
4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______6、下面程序段的运行结果是_______。
Char a[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、下面程序段将输出computer。
请填空。
char c[]="It is a computer";for(i=0;_______;i++){_______;printf("%c",c[j]);}二、选择题11、下面不正确的字符串常量是( )A.'abe'B."12'12"C. "o"D.""12、以下正确的叙述是( )。
- 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+-+-⨯≈π 试编写程序进行计算。