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. _intB. 2ndC. intD. var_name答案:C4. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. &&C. |D. ||答案:A5. 在C语言中,下列哪个选项是正确的字符串声明?()A. char str[] = "Hello, World!";B. char str[10] = "Hello, World!";C. char str[] = {"Hello, World!"};D. char str[20] = "Hello, World!";答案:A6. 下列哪个函数用于将浮点数转换为字符串?()A. sprintfB. atoiC. itoaD. atof答案:A7. C语言中,用于定义一个指针变量的关键字是()。
A. intB. floatC. charD. void答案:C8. 在C语言中,下列哪个选项不是合法的数组声明?()A. int arr[5];B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2, 3};D. int *arr = {1, 2, 3};答案:D9. 下列关于C语言函数的描述中,正确的是()。
A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以没有参数D. 所有选项都正确答案:D10. 在C语言中,用于控制程序流程的关键字是()。
c语言程序设计试题及答案

c语言程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C3. 下列选项中,不属于C语言中基本数据类型的是()。
A. intB. floatC. charD. string答案:D4. 在C语言中,表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. &答案:A5. C语言中,用于定义函数的关键字是()。
A. funcB. functionC. defD. void答案:B6. C语言中,用于表示“不等于”的运算符是()。
A. ==B. !=C. =D. <=答案:B7. 在C语言中,用于定义数组的语法是()。
A. int a[10];B. int a=10;C. int a;D. int a(10);答案:A8. 下列关于C语言中指针的描述,错误的是()。
A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的元素D. 指针本身没有数据类型答案:D9. C语言中,用于输入输出的库函数是()。
A. printfB. scanfC. coutD. cin答案:B10. 在C语言中,用于定义结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量的关键字是______。
答案:int2. C语言中,用于定义一个字符型变量的关键字是______。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是______。
答案:float4. C语言中,用于定义一个双精度浮点型变量的关键字是______。
(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量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语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。
2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。
3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。
4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。
5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。
6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。
7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。
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语言程序设计》试题九 (1)一、选择题 (1)二、填空题 (2)三、程序填空与算法题 (3)四、编程题 (5)《C语言程序设计》试题九答案 (6)《C语言程序设计》试题九一、选择题1.一个C语言程序是由()构成。
A.语句 B.行号 C.数据 D.函数2.下面标识符中正确的是()。
A.d&ef B.6a C.z4x5c D.a3/b43.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、84.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。
A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的ifD. 在同一行上的if5.下列表达式的结果正确的是()。
int aa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1==2)?bb=aa+2:aa+3A.2 B.3 C. 1 D.56.设有int x=11 ;则表达式(x+1/3)的值是()。
A.3 B. 4 C. 11 D.127.设有字符串A=“He has 钱!”,则该字符串的长度为()。
A. 9B. 10C. 11D. 88.有如下程序段,则正确的执行结果是()int m=3;while(m<=5){ printf(“%d”,m-3); m++;}A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。
A.无输出 B.结果不确定 C.-1 D. 110.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。
int x; char y; char z[20];A. scanf("%d%c%c",&x,&y,&z);B. scanf("%d%c%s",&x,&y,&z);C. scanf("%d%c%c",&x,&y,z);D. scanf("%d%c%s",&x,&y,z);11. struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是()。
大学《C语言程序设计》期末考试试卷及参考答案
大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。
()2、在标准C中,整型变量与字符变量是可以通用的。
()3、在标准C中,“=”是判断两个数是否相等。
c语言程序设计考试题答案及解析
c语言程序设计考试题答案及解析一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B解析:在C语言中,标识符可以由字母、数字和下划线组成,但不能以数字开头,也不能包含特殊字符如$、-等。
2. C语言中,哪个关键字用于声明一个整型变量?A. intB. floatC. doubleD. char答案:A解析:int是用于声明整型变量的关键字,float用于声明浮点型变量,double用于声明双精度浮点型变量,char用于声明字符型变量。
3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ||D. &答案:A解析:&&是逻辑与运算符,||是逻辑或运算符,&是按位与运算符,而|是按位或运算符。
4. C语言中,哪个函数用于计算两个整数的和?A. max()B. min()C. sum()D. pow()答案:C解析:sum()函数通常用于计算两个整数的和,而max()和min()函数分别用于找出两个数中的最大值和最小值,pow()函数用于计算幂。
5. 在C语言中,哪个关键字用于循环结构?A. ifB. whileC. forD. switch答案:B、C解析:while和for都是C语言中的循环结构关键字,if用于条件判断,switch用于多条件分支选择。
6. C语言中,哪个函数用于输出字符串?A. printf()B. scanf()C. gets()D. puts()答案:D解析:puts()函数用于输出字符串,printf()用于格式化输出,scanf()用于输入,gets()函数已不推荐使用,因为它可能导致缓冲区溢出。
7. 下列哪个选项是C语言中的数组声明?A. int a[10];B. int a[];C. int a;D. int a=10;答案:A解析:int a[10];是声明一个有10个元素的整型数组的正确方式,B 选项没有指定数组大小,C选项声明了一个整型变量,D选项是对整型变量进行赋值。
c程序设计考试题目及答案
c程序设计考试题目及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 若有定义`int a = 5;`,则执行`a += 3;`后,变量a的值是多少?A. 3B. 5C. 8D. 无法确定答案:C4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. $variableD. variable!答案:B5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][];B. int array[][3];C. int array[3][3];D. int array[][];答案:C7. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A8. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for i = 0; i < 10; i++C. for (int i = 0; i < 10;)D. for (i = 0; i < 10; i++)答案:A9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int, int);B. int add(int a, int b)C. int add(int, int) {}D. int add(a, b)答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr[10];D. int ptr(int);答案:A二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于__输出__。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计试题及答案(九)一、单项选择题(20分,每题2分)1.执行下列程序段后,正确的结果是(B)int k,a[3][3] = {1,2,3,4,5,6,7,8,9};for(k=0; k〈3;k++)printf(“%2d”,a[k][k]);A) 1 2 3 B) 1 5 9 C)1 4 7 D) 3 6 92.若a是int类型变量,则计算表达式a=25/3%3的值是:(B)A)3 B)2 C)1 D)03.下面正确的字符常量是:(C)A)“c” B)‘\\'' C)‘W' D)‘’4.C语言中,运算对象必须是整型的运算符是:(B)A)% B)/ C)* D)+5.数字字符0的ASCII值为48,若有以下程序main(){char a='1’,b=’2';printf(”%c,”,b++);printf(”%d\n”,b-a);}程序运行后的输出结果是。
(B)A)3,2 B)50,2 C)2,2 D)2,506.以下语句或语句组中,能正确进行字符串赋值的是。
(D) A)char *sp;*sp=”right!”;B)char s[10];s=”right!";C)char s[10];*s=”right!"; D)char *sp="right!”; 7.for(i=0;i〈10;i++)if(i〈=5> break;则循环结束后i的值为(B)A)0 B)1 C)5 D)108.执行下列程序段后,正确的结果是(C)char x[8]= {8,7,6,5,0,0},*s;s = x+1;printf(“%d\n", s[2]);A) n B)0 C)5 D)69.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:AA)单向值传递B)地址传递C)相互传递D)由用户指定方式10.设有数组定义:char str[]=”China”;则下面的输出为(C)printf(“%d”,strlen(str));A)4 B)5 C)6 D)7二、填空题(30分,每空2分)1.下列程序段的输出结果是 3 。
int i=19, j;j=i%4;printf(“%d”, j);2.已知fun1函数的功能是将三个数按由大到小的顺序调整后依次放入a,b,c 三个变量中,其中a存放最大的数,利用fun2函数填空完成此功能.void fun2(int *x,int *y){int t;t=*x; *x=*y;*y=t;}void fun1(){int a=20,b=30, c=25;if(c>b)fun2(__&c,&b____);if(a<c)fun2(__&a,&c____);if(a〈b) fun2(__&a,&b____);}3.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车〉,则输出结果是 1 B 。
#include <stdio.h〉main(){char a,b;a=getchar();scanf(”%d",&b);a=a-'A’+’0';b=b*2;printf("%c %c\n”,a,b);}4.以下程序运行后的输出结果是4 3 5 .main(){int a=3,b=4,c=5,t=99;if(b〈a &&a<c) { t=a;a=c;c=t;}if(a<c &&b<c){t=b;b=a;a=t;}printf("%d %d %d\n”,a,b,c);}5.若已知a=10,b=20,则表达式!a<b的值是___0______6.若s是unsigned int型变量,则下面表达式的值是__1__。
s%2+(s+1)%27。
下面程序将字符数组a复制到字符数组b中。
main(){char a[]="I am a boy.",b[20];int i;for(i=___0____;a[i]!=’\0’;i++){__b[i]=a[i]___________;}__b[i]=’\0’__;}8.若有int a[3][2]= {{1},{3,2},{4,5}};,则a[1][1]的值是2 。
9.有以下程序,执行后输出结果是0 。
main(){int t=1,i=5;for(;i〉=0;i-—) t*=i;printf(”%d\n”,t);}10.在循环语句中,break语句的作用是是用来跳出当前一层循环的,continue 语句的作用是终止本次循环.三、写出程序的运行结果(30分,每题10分)1.写出程序运行后的输出结果main(){int a=1,b;for(b=1;b<=10;b++){if(a〉=8) break;if(a%2==1){a+=5;continue;}a—=3;}printf(”%d\n",b);}输出结果:b=42.写出程序运行后的输出结果#include <string。
h〉char *ss(char *s){return s+strlen(s)/2;}main( ){char *p,*str="abcdefgh";p=ss(str);printf("%s\n",p);}输出结果:efgh3.写出程序运行后的输出结果int f1(int x,int y){return x>y?x:y;}int f2(int x,int y){return x〉y?y:x;}main(){int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d—e-f;printf(”%d,%d,%d\n",e,f,g);}4,3,7四、编程(完形填空)(20分,每题10分)1.以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。
请填空。
#include 〈stdio。
h〉#include 〈string。
h>char *huiwen(char *str){char *p1,*p2;int i,t=0;p1=str;p2=_____ str+strlen(str)—1____;str+strlen(str)for(i=0;i<=strlen(str)/2;i++)if(*p1++!=*p2-—){t=1;break;}if(_t==0或!t_ )t==0return("yes!");elsereturn(”no!”);}main(){char str[50];printf("Input:");scanf(”%s”,str);printf("%s\n”,___ huiwen(str) _____ );huiwen(srt)}2.下面程序完成以下功能:(1)trans()函数将二维数组a进行转置,即行列互换,如下图所示;1 2 3 4 1 2 5 72 4 6 9 2 4 8 15 8 9 7 36 9 67 1 6 21 4 9 7 21转置前转置后(2)findmin()函数求新数组中对角线(左上到右下)上的最小元素的值;请将程序填写完整。
void trans(int b[4][4]) /*转置函数*/{int i,j,temp;for(i=0;i〈4;i++)for(j=_0__;j〈4;j++){temp=b[i][j];b[i][j]=b[j][i];b[j][i]=temp;}}int findmin(int b[4][4]) /*求对角线上最小的元素*/{int min,i,j;min=_______;for(i=0;i〈4;i++){if(__b[i][i]<min___)min=_ b[i][i]_ ___;}return min;}main(){int i,j;int a[4][4],min;for(i=0;i〈4;i++)for(j=0;j〈4;j++)scanf(”%d",&a[i][j]);trans(a);printf(“the result is:”);for(i=0;i〈4;i++){for(j=0;j〈4;j++)printf("%5d”,a[i][j]);printf("\n”);}min=_findmin(a)__;printf("the min is%5d\n”,min);}。