西华大学C语言程序设计复习题
《C语言程序设计》复习题(有答案)
《C语⾔程序设计》复习题(有答案)《C语⾔程序设计》期末复习题⼀、填空题1.程序设计语⾔⼀般分为机器语⾔、汇编语⾔、⾼级语⾔三⼤类。
2.在C语⾔中,基本的逻辑运算符有3个:逻辑与(&&)、逻辑或(||)、逻辑⾮(!)。
3.结构化程序设计有顺序、选择、循环3种基本控制结构形式。
4.在C语⾔中,有3种类型的整型变量:基本整型、长整型、短整型。
5.⽤于输出⼗进制形式基本整型数据的格式说符为%d或%md。
…else结构、if…elseif结构、switch结构来实现各种形式的选择结构。
10.C语⾔中的宏定义有两种形式:符号常量定义、带参数的宏定义。
11.数据的存储类型分为⾃动类型(auto)、静态类型(static)、寄存器类型(register)、外部类型(extern)。
12.在C语⾔中,函数分为标准库函数、⽤户⾃⼰定义的函数两种。
⼆、选择题1.在C语⾔中,表达式语句的终结符是(B)A.:B.;C.。
D.,2.在⼀个函数体内部,由左、右花括号括起来的语句称为(B)A.赋值语句B.复合语句C.单⾏语句D.空语句3.C语⾔中“结束本次循环的执⾏,但不退出循环结构”所使⽤的语句是(B)A、break语句B、continue语句C、return语句D、switch语句4.下列函数中不是常⽤库函数的是(D)A.scanf()B.fabs()C.cos()D.abc()5.下列变量名中,合法的变量名是()()。
8.⽤(B)说明的局部变量称为局部静态变量。
A.autoB.staticC.registerD.extern9.定义局部静态变量时若不赋初值,则在编译时将⾃动赋初值为(A)A.0B.1C.随即赋值D.不赋值10.⽂件包含命令的⼀般形式为(B)A.#defineB.#includeC.#ifdef,#else,#endifD.#if,#else,#endif11.说明语句:inta[50];定义了⼀个包含(C)个元素的整型⼀维数组。
C语言程序设计试题及答案解析
C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
大学C语言程序设计试题含答案
大学C语言程序设计试题含答案一、简答题1. 请简要解释什么是C语言程序设计。
C语言程序设计是一种计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代早期开发。
它强调的是效率和可移植性,被广泛应用于操作系统、嵌入式系统和其他需要高效执行的应用程序开发。
2. C语言的基本数据类型有哪些?请列举并简要说明其特点。
C语言的基本数据类型包括:- int:用于表示整数,通常占用4个字节内存,可以表示范围较大的整数;- char:用于表示字符,占用1个字节内存,常用于存储ASCII码;- float:用于表示单精度浮点数,占用4个字节内存,可用于表示小数;- double:用于表示双精度浮点数,占用8个字节内存,可用于表示更大范围和更高精度的小数;- void:表示无类型,常用于函数返回类型。
3. 请解释C语言中的变量和常量的概念,并简要说明它们的区别。
变量是用于存储和表示数据的一种方式,可以根据需要改变其值。
在C语言中,变量声明需要指定其类型,并可以为变量命名,并通过赋值来存储数据。
常量是固定不变的值,不能改变其值。
在C语言中,常量可以是字面值常量(直接指定数值或字符)、符号常量(使用预处理器#define 指令定义的常量)或常量表达式(由常量组成的表达式)。
常量在程序执行过程中保持不变。
二、编程题1. 编写一个程序,输入一个整数,判断该数字是奇数还是偶数,并输出相应的提示信息。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
\n", num);} else {printf("%d是奇数。
\n", num);}return 0;}```2. 编写一个程序,计算并输出1到100之间所有奇数的和。
C语言程序设计期末复习题(分析程序或程序段)新
第三部分分析程序或程序段分析程序或程序段,给出下列程序的运行结果:1.#include〈stdio。
h〉main(){int i=16,j,x=6;j=i++ +1;x*=i=j;printf(“%d,%d\n”,j,x);}运行结果是:2.#include〈stdio。
h>main(){int a,b,c,d;a=c=0;b=1;d=20;if(a) d=d—10;else if(!b)if(!c) d=25;else d=15;printf(“d=%d\n”,d);}运行结果:3.main(){int i=10;switch(i){case 9: i+=1;case 10: i+=1;case 11: i+=1;default : i+=1;}printf(“%d”,i);}运行结果:4.#include<stdio。
h〉main(){int a[]={1,2,3,4},i,j,s=0;j=1;for(i=3;i〉=0;i—-){s=s+a[i]*j;j=j*10;}printf(”s=%d\n",s);}运行结果:5.func(int x){ x=20;}main(){int x=10;func(x);printf(“%d",x);}运行结果:106. #include <stdio。
h〉main(){int x = 8 , y = 12;printf(”%d %d\n”, x++, ++y);printf("%d %d\n", x, y);}运行结果是:7.#include <stdio。
h〉void Func(int b[]){int j;for (j=0; j<4; j++){ b[j] = j; }}main(){ static int a[] = {5,6,7,8},i;Func(a);for (i=0; i<4; i++){ printf("%d\n”,a[i]);}}运行结果是:8.#include <stdio。
(完整版)《C语言程序设计》复习参考答案
第一章【随堂练习1-2】1 .下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42. 结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:in elude、main、prin tf、sca nf用户自定义标识符:a、b、c3. 分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数) 、函数体语句(说明语句、可执行语句) 。
答:函数首部:void main(),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
一. 单元练习一. 选择题1构成C语言程序的基本单位是()。
A .框架B .预处理C.函数 D .语句2 •在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()°A. 编辑B.编译C.连接D.运行3 •关于主函数,下列说法不正确的是()°A. —个完整的C语言应用程序有唯一的主函数B. 主函数的名称只能是m ai nC. 主函数可以被其他自定义函数调用D. C语言程序的运行从主函数开始,以主函数为核心展开4 .关于标识符,下列说法不正确的是()°A. 库函数名称为预定义标识符,不建议用作用户自定义标识符B. 关键字不能作为用户自定义标识符C. 用户自定义标识符中不区分大小写字母D. 标识符中可以出现下划线,且可以出现在标识符的任意位置5 .以下可用作用户自定义标识符的一组是()°A. void、return、ifB. printf、in elude、fabsC. Max、_abc、MainD. 2abc、pay$、sum-10二. 填空题1.______________________________________________________________ C语言程序一般由若干个函数构成,程序中应至少包含一个 _________________________________ ,其名称只能为°2.____________________________________ C语言程序中每条语句必须以结束。
(完整版)C语言程序设计题库及答案,推荐文档
D.a2_b 19 . 以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 20 . C 语言程序中,下列( C)组标识符是合法。 A.abc、2id、while B.4d、DO、oodb
B.二进制
C.十进制
D.八进制
3 . 以下不正确的 C 语言标识符是(C )。
A.AB1
B._ab3
C.4ab
D.a2_b
4 . 以下运算符中优先级最低的运算符是_D____。
A.&&
B.& C.||
D.=
5 . 在 C 语言中,要求运算数必须是整型的运算符是___A___。
A.%
B./ C.<
D.!
12 . 以下说法不正确的是__D___。 A.在 C 程序中,逗号运算符的优先级最低 B.在 C 程序中,aph 和 aPh 是两个不同的变量 C.若 a 和 b 类型相同,在计算了赋值表达式 a=b 后 b 中的值将放入 a 中,而 b 中的值不变 D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输 入实型数 13 . C 语言程序的基本单位是_C______。 A.程序行 B.语句 C.函数 D.字符 14 . C 语言程序中,下列(C )组符合变量命名规则。 A.for、-sub、xy
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。
C语言程序设计复习题(含参考答案)
C语言程序设计复习题(含参考答案)C语言程序设计复习题(含参考答案)一、单项选择题(本题共30小题,每小题2分,共60分)在每小题列出的四个备选项中只有一个是符合题目要求的。
1. 以下正确的C语言自定义标识符是______。
A. _1aB. 2a_C. doD. a.122、假设所有变量均为整型,则表达式(x=3,y=4,y++, y-x`)的值是______。
A.7B.1C.6D.23. 设int a, x=2; 执行语句a=x>0?3*x:x=10; 后,变量x的值是_______。
A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是_________。
A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,strlen("\\TOP\t\65\"")的值是_______。
A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。
A. scanf("%5f",&x);B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.若有int a=5;则逗号表达式a=2*6,a*3,a+5的值是_________。
A. 12B. 17C.36 D. 108. C语言程序中,整型常量的书写形式不包括_________。
A. 二进制B. 八进制C. 十进制D. 十六进制9.下面程序的输出结果是_____。
#includemain(){ float d=2.2; int x,y;x=6.2;y=(x+3.8)/5.0;printf("%f",d*y);}A. 4B. 4.4C. 2.2D. 010. 设int x;,则与计算︱x︱等价的表达式是_________。
c语言程序设计考试题库及答案
c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2.2 C语言中,用于输入数据的库函数是______。
答案:scanf2.3 C语言中,用于输出数据的库函数是______。
答案:printf3. 简答题3.1 简述C语言中数组的定义方式。
答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。
例如,定义一个整型数组可以写作:int arrayName[arraySize];。
3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
定义指针的示例:int *ptr; 这里ptr是一个整型指针。
4. 编程题4.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;}```4.2 编写一个C语言函数,实现字符串反转的功能。
答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。
C语言程序设计考试试卷(附答案)
C语言程序设计考试试卷(附答案)C语言程序设计考试试卷(附答案)第一部分:选择题(共40题,每题2分,总分80分)1. 下列哪个关键字用于定义常量?A. constB. intC. staticD. volatile2. 在C语言中,以下哪个运算符用于将一个整数转换为浮点数?A. *B. /C. %D. +3. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int x = 2, y = 3;printf("%d", x++ * ++y);}```A. 7B. 8C. 9D. 104. C语言中,以下哪个运算符用于从一个整数中提取指定位数的值?A. <<B. >>C. |D. &5. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *ptr);}```A. 1B. 2C. 3D. 4......40. 下列关于结构体的说法中,错误的是:A. 结构体可以包含不同类型的成员变量B. 结构体可以作为函数参数和返回值C. 结构体可以使用“->”来访问成员变量D. 结构体可以使用“sizeof()”函数获取其大小第二部分:填空题(共10题,每题4分,总分40分)1. 以下是有效的C语言标识符:___hello___2. 下列代码的运行结果是:___88___```c#include <stdio.h>void main() {int x = 8;printf("%d", x++);}```3. 在C语言中,以下是有效的声明:___int i, *p;___4. 下列代码的输出结果是:___10___```c#include <stdio.h>void main() {int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *(ptr + 2));}```5. 在C语言中,以下是合法的函数声明:___void fun(int x, float y);___......第三部分:编程题(共3题,每题20分,总分60分)1. 编写一个函数,接受一个整型数组和数组的长度作为参数,返回数组中的最大值。
C语言程序设计复习题及参考答案
C语言程序设计复习题及参考答案━━━━━━━━━━━━━━━━━━一、程序设计共6题(共计120.0分)━━━━━━━━━━━━━━━━━━第1题(20.0分)/*----------------------------------------------------------------------题目:函数fun的功能是:用递归法计算斐波拉契数列中第n项的值。
从第1项起,斐波拉契数列为: 1、1、 2、3、5、8、13、21....例如,若给n输入7,则该项的斐波拉契数值为13.------------------------------------------------------------------------注意:请勿改动程序中的其他内容。
----------------------------------------------------------------------*/#include <stdio.h>long fun(int g){switch(g)/********** Program **********//********** END **********/}void main(){long fib;int n;printf("【Input n:】 ");scanf("%d",&n);fib=fun(n);printf("【fib =】 %d\n",fib);}答案:{case 0: return 0;case 1:case 2 : return 1 ;}return( fun(g-1)+fun(g-2) );第2题(20.0分)/*----------------------------------------------------------------------题目:函数fun的功能是:从3个红球、5个白球、6个黑球中任意取出8个作为一组,进行输出。
(完整版)C语言程序设计+复习题库
(完整版)C语言程序设计+复习题库一、填空1.break语句通常用于switch // 循环中。
2. C 语言对数组下标的引用一般从0 开始。
3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。
4.C标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在math.h头文件中。
5.C程序的运行需要经过编译和链接两步进行。
6.C程序中用/**/ 括起来的内容是程序的注释语句。
7.C语言函数是由函数首部和函数体两部分组成。
其中,函数首部包括函数类型、函数名和函数参数。
8.C语言提供的三种逻辑运算符是&,//,!。
9.C语言源程序经过编译后,生成文件的后缀名是 .c 。
10.C语言源程序经过连接后,生成文件的后缀名是 .exe 。
11.C语言中,关系表达式和逻辑表达式的值是1//0 。
12.C语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。
13.C语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。
14.C语言中函数返回值的类型是由函数类型决定的。
15.C源程序的基本单位是函数。
16.int a = 2, b = 3; 表达式a > b ? a ++ : ++ b的值为 4 。
17.int x=1,y=1,z=1; x+=y+=z; 则表达式x18.当a=3,b=2,c=1时,表达式f=a>b>c的值是0 。
19.定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为int *p=a[6] ; 。
20.定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为int*p[4]; 。
21.赋值语句是由= 加上一个分号构成。
22.构成数组的各个元素必须具有相同的类型。
23.关系表达式x+y>5的相反表达式为x+y!>5 。
24.函数strlen("1234\0xy")的值为:9 。
智慧树知道网课《C语言程序设计(西华大学)》课后章节测试满分答案
第一章测试1【单选题】(5分)下列叙述中正确的是()。
A.C语言所有函数都是外部函数B.C语言的子程序有过程和函数两种C.C语言编译时不检查语法D.C语言的函数可以嵌套定义2【单选题】(5分)以下叙述中正确的是()。
A.C语言中的每条可执行语句最终都将被转换成二进制的机器指令B.C源程序经编译形成的二进制代码可以直接运行C.C语言中的函数不可以单独进行编译D.C语言的源程序不必通过编译就可以直接运行3【单选题】(5分)C语言的注释定界符是()。
A.[]B./**/C.\**\D.{}4【单选题】(5分)C语言源程序的基本单位是()。
A.过程B.标识符C.子程序D.函数5【单选题】(5分)一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中的是()A.有零个或多个输入B.可行性C.有零个或多个输出D.有穷性6【单选题】(5分)以下叙述中正确的是()。
A.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式B.C语言可以不用编译就能被计算机识别执行C.C语言比其他语言高级D.C语言出现的最晚,具有其他语言的一切优点7【单选题】(5分)有一个命名为C001.C的C语言源程序,当正常执行后,在当前目录下不存在的文件是A.C001.EXEB.C001.CC.C001.OBJD.C001.DAT8【单选题】(5分)能将高级语言编写的源程序转换为目标程序的是()。
A.编辑程序B.链接程序C.解释程序D.编译程序9【单选题】(5分)结构化程序由三种基本结构组成,由这三种基本结构组成的算法()。
A.能完成符合结构化的任务B.只能完成部分复杂的任务C.只能完成一些简单的任务D.可以完成任何复杂的任务10【单选题】(5分)以下叙述中的是()。
A.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令C.C语言源程序经编译后生成后缀为.obj的目标程序D.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中11【判断题】(5分)C语言程序将从源程序中第一个函数开始执行A.对B.错12【判断题】(5分)C语言程序中可以有多个函数,但只能有一个主函数。
大学C语言程序设计考试试题及答案3套
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,9 10、巳知字母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语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
(B)2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
(B)3.注释内容太多会影响程序的执行效率。
(B)4.变量要“先定义,后使用”。
(A)5.字符常量'a'与字符串常量"a"没有区别。
(B)6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。
(B)7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。
(A)8.表达式5/2+5.0/2+7%6 的值为5.5。
(A)9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。
(B)10.设int a=12; 则表达式a/=a+a的值是0.5。
(B)11.在C语言中,运算符!比&&的优先级高。
(A)12.在C语言中,运算符的优先级最小的是逗号运算符。
(A)13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。
(A)14.以下程序运行结果是:1,7,0 (A)void main(){int x=1,y=1,z=10;if(z< 0)if(y> 0) x=3;else x=5;printf(" %d," ,x);if(z=y< 0) x=3;else if(y==0) x=5;else x=7;printf(" %d,%d" ,x,z);}15.该程序运行结果是:BCother (A)void main(){ char x=‘B’;switch(x){case ‘A’: printf(“A”);case ‘B’: printf(“B”);case ‘C’: printf(“C”);default: printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8 (B)void main(){int x=1,y=1,a=2,b=7;switch(x){case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;case 3: a++;b++;}printf("a=%d,b=%d\n",a,b);}17.下面程序,当输入为:"abc?" 时,执行结果是:abc (A)void main(){ char c;c=getchar();while (c!='?' ) { putchar(c); c=getchar();}}18.该程序运行结果是:< > < > < > # (A)void main(){ int i;for(i=1;i<=5;i++){if(i%2) putchar(‘<’);else continue;putchar(‘>’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。
C语言程序设计复习题(含答案及标注 )
C语言程序设计复习题目录选择题 (3)知识点1:C程序的基本结构和算法基本概念 (3)知识点2:数据和表达式计算 (4)知识点3:输入输出 (4)知识点4:逻辑量和逻辑表达式 (5)知识点6:选择结构和if、switch 语句 (6)知识点7:循环结构 while 、do~while和for语句 (7)知识点8:数组的基本概念和引用 (8)知识点9:变量的作用域和生存期 (9)知识点10:函数 (9)知识点11:指针及其应用 (10)知识点12:结构体和共用体 ............................................................................. 错误!未定义书签。
程序填空题 (10)写出程序运行的结果 (15)知识点1:选择结构 (15)知识点2:循环结构 (16)知识点3:数组 (18)知识点4:函数 (19)知识点5:指针 (20)编程题 (22)选择题知识点1:C程序的基本结构和算法基本概念1.C语言程序的基本单位为_______。
A) 程序行B) 语句C) 函数D) 字符2.用C语言编写的代码程序______。
A)可立即执行B)是一个源程序C)经过编译即可执行D)经过解释就能执行3.以下叙述中正确的是______。
A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出4.结构化程序由三种基本结构组成,三种基本结构组成的算法____。
A)可以完成任何复杂的任务B)只能完成部分复杂的任务C)只能完成符合结构化的任务D)只能完成一些简单的任务5.在一个C程序中______。
A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置6.下列关于C语言的叙述错误的是______。
(完整版)C语言程序设计习题集及答案
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
c语言程序设计考试题答案及解析
c语言程序设计考试题答案及解析一、选择题1. 在C语言中,以下哪个关键字用于声明变量?A. TypeB. VarC. DeclareD. None of the above答案:D解析:在C语言中,变量的声明是通过指定变量的类型和名称来实现的,而不是使用特定的关键字。
选项A、B和C都不是C语言中用于声明变量的关键字。
2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable!D. variable$答案:B解析:C语言中的标识符可以包含字母、数字和下划线,但不能以数字开头,也不能包含特殊字符如感叹号或美元符号。
因此,选项B 是合法的标识符。
二、填空题1. 在C语言中,____ 用于定义一个整型变量。
答案:int2. 以下代码片段的输出是什么?```cint main() {int a = 10;printf("%d", a);return 0;}```答案:10三、简答题1. 简述C语言中数组的定义和初始化方法。
答案:在C语言中,数组可以通过指定类型和大小来定义,例如`int arr[10];` 定义了一个包含10个整数的数组。
数组可以通过循环或直接赋值来初始化,例如:```cint arr[5] = {1, 2, 3, 4, 5};```或者使用循环:```cint arr[5];for(int i = 0; i < 5; i++) {arr[i] = i + 1;}```四、编程题1. 编写一个C语言程序,实现计算并输出1到10的和。
```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 10; i++) {sum += i;}printf("The sum of numbers from 1 to 10 is: %d\n", sum);return 0;}```解析:该程序使用一个for循环来累加1到10的整数,并将结果存储在变量`sum`中。
西华大学C语言程序设计复习题
《C语言程序设计》考试题型示例& 复习例程一、单项选择题1.以下四组变量标识符均为合法的是(B )。
A)cosx_Value、CASE、sin(x) B)Sum_Value、x01_value、xxx C)a_b_c_01、FILE、x_01_y D)Num#、abc_01、X_value_A 2.设有二维数组定义:float a[3][3] ;假设&a[0][0]= =2001H,则&a[2][2]= =(C )。
A)2010H B)2036H C)2021H D)2024H3.设有整型变量x和y,且x=y=10;则计算表达式x=(x++ , y++) , x+y;后x的值为(D)A)11 B)20 C)22 D)104.如果要使用一维数组,其正确的定义是(D )A)int array[ ]; B)const n=10, array[n];C)int n, array[n]; cin>>n; D)int n=5, *array=new int [n];5.下述函数myfun的功能是(C )int myfun(char s[ ],char t[ ]) (A)将字符串t复制到字符串s { char *ps=s,*pt=t; (B)将串s连接到串t的尾部while(*ps)ps++; (C)将串t连接到串s的尾部whie(*pt)*ps++=*pt++; (D)将字符串s复制到字符串t*ps=’\0’;}6.下面的程序运行后的输出结果是(A )void swap(int **x,int **y) main( ){ int *t; { int a=111,b=333;t=*x;*x=*y;*y=t; swap(&pa,&pb);} cout<<a<<’\t’<<b<<endl; } (A)111 333 (B)333 111 (C)111 111 (D)333 3337.下面的程序运行后的输出结果是(A )int x=100; main( )void myfun( ) { int x=100;{ int i; myfun( );for(i=1;i<=10;i++)x++; cout<<x<<endl;} }(A)100 (B)110 (C)0 (D)随机值8.程序段char str1[10]=”Hello” , str2[10]=”Hello!” ;if(strcmp( str1,str2 ))puts(“Yes”) ; else puts(“No”); 的输出结果是(B)A)No B)Yes C)语法错误D)无输出结果9.下面的程序段的输出结果是(B )int a[3][3]={11,22,33,44,55,66,77,88,99};int *p=a[0]+1;cout<<*p<<’\t’<<*(*(a+1)+1))<<endl;A)11 13 B)22 55 C)11 11 D)12 1110.函数调用:strstr(strcat(str1,str2),str3)的功能是(C )A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后,再在str1中定位串str3C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后,再在str1中定位str311.设有结构体类型stuNode的定义如下,则sizeof(stuNode)的大小是(B )个字节:typedef struct student{int num; A)16char name[8]; B)20float score; C)24struct student *next; D)17}stuNode;12.关于C语言,以下叙述中正确的是(D )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》考试题型示例& 复习例程一、单项选择题1.以下四组变量标识符均为合法的是(B )。
A)cosx_Value、CASE、sin(x) B)Sum_Value、x01_value、xxxC)a_b_c_01、FILE、x_01_y D)Num#、abc_01、X_value_A 2.设有二维数组定义:float a[3][3] ;假设&a[0][0]= =2001H,则&a[2][2]= =(C )。
A)2010H B)2036H C)2021H D)2024H3.设有整型变量x和y,且x=y=10;则计算表达式x=(x++ , y++) , x+y;后x的值为(D)A)11 B)20 C)22 D)104.如果要使用一维数组,其正确的定义是(D )A)int array[ ]; B)const n=10, array[n];C)int n, array[n]; cin>>n; D)int n=5, *array=new int [n];5.下述函数myfun的功能是(C )int myfun(char s[ ],char t[ ]) (A)将字符串t复制到字符串s{ char *ps=s,*pt=t; (B)将串s连接到串t的尾部while(*ps)ps++; (C)将串t连接到串s的尾部whie(*pt)*ps++=*pt++; (D)将字符串s复制到字符串t*ps=’\0’;}6.下面的程序运行后的输出结果是(A )void swap(int **x,int **y) main( ){ int *t; { int a=111,b=333;t=*x;*x=*y;*y=t; swap(&pa,&pb);} cout<<a<<’\t’<<b<<endl;}(A)111 333 (B)333 111 (C)111 111 (D)333 333 7.下面的程序运行后的输出结果是(A )int x=100; main( )void myfun( ) { int x=100;{ int i; myfun( );for(i=1;i<=10;i++)x++; cout<<x<<endl;} }(A)100 (B)110 (C)0 (D)随机值8.程序段char str1[10]=”Hello” , str2[10]=”Hello!” ;if(strcmp( str1,str2 ))puts(“Yes”) ; else puts(“No”); 的输出结果是(B)A)No B)Yes C)语法错误D)无输出结果9.下面的程序段的输出结果是(B )int a[3][3]={11,22,33,44,55,66,77,88,99};int *p=a[0]+1;cout<<*p<<’\t’<<*(*(a+1)+1))<<endl;A)11 13 B)22 55 C)11 11 D)12 1110.函数调用:strstr(strcat(str1,str2),str3)的功能是(C )A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后,再在str1中定位串str3C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后,再在str1中定位str311.设有结构体类型stuNode的定义如下,则sizeof(stuNode)的大小是(B )个字节:typedef struct student{int num; A)16char name[8]; B)20float score; C)24struct student *next; D)17}stuNode;12.关于C语言,以下叙述中正确的是(D )。
A)构成C程序的基本单位是文件B)可以在一个函数中定义另一个函数C)main()函数必须放在其它函数之前D)除main()以外的函数也可以调用自身13.程序设计的三个层次由低到高的顺序是(A )A)机器语言程序设计—汇编语言程序设计—高级语言程序设计B)汇编语言程序设计—机器语言程序设计—高级语言程序设计C)高级语言程序设计—汇编语言程序设计—机器语言程序设计D)机器语言程序设计—高级语言程序设计—汇编语言程序设计14.下面的程序段执行后,x、sum的值是(D )int x=1,sum=0;while(x++){ if(sum>=10)break ; if(x%2)continue ; sum=sum+x ;}A)6,10 B)6,12 C)7,10 D)7,1215.关于以下函数的功能,正确的描述是(C )void fun(int a[][C],int R){ int i,j; A)输出矩阵全部元素for(i=0;i<R;i++) B)输出矩阵上半三角{ for(j=0;j<C;j++) C)输出矩阵下半三角{if(j>i)continue ; cout<<setw(3)<<a[i][j]);} D)没有什么输出结果cout<<endl;}}16.在函数调用时,以下叙述中正确的是(A )A)实参与其对应形参各占独立的存储单元B)实参与其对应形参共占同一个存储单元C)只有实参与其对应形参同名时才共占同一存储单元D)形参是一种虚拟的参数,不占存储单元17.若用数组名作为函数调用的实参,则实际传递给形参的是(A )A)数组首地址 B)数组首元素C)数组全部元素D)数组元素个数18.C语言中,函数形式参数的默认存储类别是(B )A)extern B)auto C)register D)static19.下面的程序运行后的输出结果是(A )int x=100; main( )void myfun(int *p) {{ int i,x=*p; myfun(&x);for(i=1;i<=10;i++)x++ ; cout<<x<<endl;} }(A)100 (B)110 (C)0 (D)随机值20.设有结构体数组及指针的定义如下,其下列引用非法的是(D )struct student{ int num ;float score ;}stu[3]={{101,95},{102,89},{103,75}} ,*p=stu;A)(p++)->num; B)(p+1)->score; C)(*p).num D)p=&stu.score二、程序填空题1.函数DecTo2816(int d,int r)的功能是将十进制整数d转换为r进制数的形式,实现方法是辗转除取余,将每次取得的余数转换为字符存入字符数组trans[]后反向输出。
void DecTo2816(int d , int r){ int res , i=0 ; char trans[33]={'\0'};while(d){ res=d%r; //取余数if(res<=9)trans[i++]= ‘0’+res 【1】; //余数<=9,如何存入字符?else ‘0’+res%10 【2】; //若r=16,10~15的余数如何转换?d=d/r;}while(i>=0) put char(trans[i--]) 【3】; //反向输出trans[]中的字符}2.本程序功能是将两个递增整数表LA=(3,5,8,11)和LB=(2,6,8,9,11,15,20)归并到新的整数表LC=(2,3,5,6,8,8,9,11,11,15,20)。
整数表均采用单向链表存储。
#include<stdio.h>typedef struct elem //链表结点类型intNode的定义{ int v; //数据域,存储整数struct elem *next; //指针域}intNode;intNode *CreateList(intNode *Head , int n) //函数:创建能存储n个整数的链表{ intNode *pnew,*pend ; int i; //pnew用于创建新结点,pend为辅助指针for(i=1;i<=n;i++){ pnew=new intNode;cin>>pnew->v;if(Head==NULL) Head==pnew 【4】;//若当前头指针为空,应赋什么值else pend->next=pnew; //新结点接入当前尾部结点之后pend=pnew ; pend->next=NULL; //pend更新,当前尾结点指针域赋空}return(Head); //返回链表头指针}//以下MergeList( )函数,归并LA、LB到LCintNode *MergeList(intNode *LA,intNode *LB,intNode *LC){ intNode *pa=LA,*pb=LB,*pnew,*pend;while( pa&&pb 【5】) //当pa与pb不为空时{ pnew=(intNode*)malloc(sizeof(intNode)); //为LC创建新结点if(pa->v<=pb->v) //若结点pa的v值小于或等于pb结点的v值{ pnew->v=pa->v; //LC的新结点的v赋值为pa结点的v值pa=pa->next; //当前结点处理完毕,pa指针下移}else{ pnew->v=pb->v 【6】; pb=pb->next 【7】; }if(LC==NULL)LC=pnew; //当前LC链表还为空else pend->next=pnew;pend=pnew ;pend->next=NULL;}while(pa!=NULL) //如果LA比LB长,将剩余部分接入LC{ pnew=new intNode;pnew->v=pa->v ; pa=pa->next;pend->next=pnew ; pend=pnew ; pend->next=NULL;}while(pb!=NULL) //如果LB比LA长,将剩余部分接入LC{ pnew=new intNode;Pnew->v=pb->v 【8】; pb=pb->next 【9】;pend->next=pnew ; pend=pnew ; pend->next=NULL;}Return LC 【10】; //此函数应返回什么值}void main(void){ //以LA=(3,5,8,11)和LB=(2,6,8,9,11,15,20)为实例数据intNode *LA=NULL,*LB=NULL,*LC=NULL;LA= CreateList(la 4) 【11】; //创建链表LALB=CreateList(LB 7) 【12】; //创建链表LBLC=MergeList(LA,LB,LC); //归并LA和LB到LC}3.以下函数功能是使用对分法在递增排序的整型数组a[ ]中查找指定元素SearchNum,算法思想是:取数组的中点下标c,若a[c]==SearchNum则找到,若SearchNum> a[c],则查找围缩小为右半,否则缩小为左半,依此循环直到查找围不能再缩小为止。