C语言期末考试题(含答案)之欧阳数创编

合集下载

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

《C语言程序设计》期末考试试卷以及答案提示(共五篇)

《C语言程序设计》期末考试试卷以及答案提示(共五篇)

《C语言程序设计》期末考试试卷以及答案提示(共五篇)第一篇:《C语言程序设计》期末考试试卷以及答案提示一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是 B。

A、C语言简洁、紧凑B、能够编制出功能复杂的程序(任何程序都可以,不算特点)C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是 DA、ABCB、abcC、a_bcD、ab.c(只能是字母,下划线,数字;另外数字不可开头)3、一个C语言程序是由B。

A、一个主程序和若干子程序组成B、函数组成 C、若干过程组成 D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 B A、有零个或多个输入B、有零个或多个输出(有一个或多个输出)C、有穷性D、可行性5、设变数a是整型,f是实型,i是双精度型,则表达式10+…a‟+i*f值的数据类型为 C A、int B、float C、double D、不确定(低类型要转换为高类型)6、在C语言中,char型数据在内存中的存储形式是 D。

A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是B。

#include main(){ int x;float y;scanf(“%3d%f”,&x,&y);} A、12345 B、123 C、45 D、345(由scanf语句可知取三位数值给X)8、若有以下定义int a,b;float x,则正确的赋值语句是B。

A、a=1,b=2(少了分号)B、b++;C、a=b=5(句末少了分号)D、b=int(x);(右侧要是确切的值)9、以下程序的执行结果是A。

#include { int i=10,j=10;printf(“%d,%dn”,++i,j--);} A、11,10 B、9,10 C、11,9D、10,9(i是先加一再使用,j是先使用再减一)10、巳知字母A的ASCII码是65,以下程序的执行结果是D。

C语言编程题及答案

C语言编程题及答案

C 语言编程题1 .( * )求分数序列:1/2,2/3,3/5,5/8,8/13,13/21…… 前 20?的和。

mai n(){float i=l j=2,t=0,s, n,m; for(n= 1 ;n <=20; n++) ■ J ■ ■ ■ ■ ■ ■ g gs=i/j ,m=i j 一 j j=m+j ,t=t+s;} 2.(*)从捷盘输人一个字符串,再胖其逆序输出。

(女口 :输人 abcde,输岀 edcba ) main(){int i;char c[10]; scanf(”% s ” ,c);创作:欧阳术for(i=9;i>=0;i —)printf( H%c n,c[i]);}3. ( * ) 已知abc+cba=1333,其中a、b、c 均为一位数, 例如617+716=1333, 518+815=1333, 试编程求岀符合这一规律的a、b、c并输出结果。

main(){int a,b,c,x,y;for(a=l;a<=9;a++)for(b=0;b<=9;b++) for(c=l;c<=9;c++){ x=100*a+10*b+c;y=100*c+10*b+a;if(x+y=1333) printf( n x=%d,y=%d n,x,y);} }4. ( * ) 利用海伦公式求三角形面枳,三ill 长a,b,c 由捷盘输人。

若输入的三11 长不能构成三角形,输出相应提示信息。

海伦公式如下:其中s=(a+b+c)/2三角形耐解“ )*($")*(_)# include"math.h Hmain(){ float a,b,c,s,area;scanf(n%f,%f,%f,&a,&b,&c);s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c));if(a+b>c&&a+c>b&&b+c>a) printf( ,'area=%f ,,area);else.1 .prin tfC A o");}5. (*) 编程求出l!+2!+3!+...+8!+9!+10! 的值并输出。

C语言练习题真答案(汇总版)之欧阳道创编

C语言练习题真答案(汇总版)之欧阳道创编

0在C语言中,合法的字符常量是( D )。

A.'字'B."A"C."ABC"D.'\x41'1下面叙述正确的是(B)。

A.程序中必须包含有输入语句B.变量按所定义的类型存放数据C.main函数必须位于文件的开头D.每行只能写一条语句2错误的叙述是(D)。

A.一个C语言源程序可由一个或多个函数组成B.若一条语句较长,也可分写在下一行上C.C程序必须包含一个main()函数D.构成C语言源程序的基本单元是算术表达式3(C)是关于C语言数据类型的正确叙述。

A.变量必须先定义后使用B.不允许使用空类型C.枚举类型不是基本类型D.数组并不是构造类型4main( )函数的位置(B)。

A.必须在自定义函数前面B.可以在自定义函数后面C.必须位于程序的最前面D.必须在自定义函数后面5C语言函数体由(C)括起来。

A.< >B.( )C.{ }D.[ ]6(A)是不正确的叙述。

A.注释说明只能位于一条语句的后面B.C源程序的基本组成单元是函数C.C源程序可由一个或多个函数组成D.每条语句最后必须有一个分号7一个C语言源程序是由(B)。

A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成8结构化程序设计的三种基本结构是(C)。

A.函数结构、判断结构、选择结构B.平行结构、嵌套结构、函数结构C.顺序结构、选择结构、循环结构D.判断结构、嵌套结构、循环结构9C源程序的调试是指对源程序进行(C)。

A.录入与编辑B.查错与编译C.查错与排错D.连接与运行10C语言中,可将一系列语句置于(C)从而构成复合语句。

A.一对尖括号"< >"之间B.一对圆括号"( )"之间C.一对花括号"{}"之间D.一对方框号"[ ]"之间11构成C源程序的基本单位是(D)。

C语言数组练习及答案之欧阳索引创编

C语言数组练习及答案之欧阳索引创编

第四部分数组欧阳家百(2021.03.07)4.1选择题1. 以下关于数组的描述正确的是(c )。

A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维整型数组a的正确说明是(d )。

A.int a(10);B. int n=10,a[n];C.int n;D. #define SIZE 10scanf("%d",&n); int a[SIZE];int a[n];3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。

A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式4. 以下对一维数组m进行正确初始化的是(c )。

A. int m[10]=(0,0,0,0) ;B. int m[10]={ };C.int m[ ]={0};D. int m[10]={10*2};5. 若有定义:intbb[ 8];。

则以下表达式中不能代表数组元bb[1]的地址的是(c )。

A. &bb[0]+1B. &bb[1]C. &bb[0]++D.bb+16. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。

A. 3B.6C. 10D. 207. 若有以下说明: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]8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。

(word版)C语言程序设计期末考试试题(含答案),文档

(word版)C语言程序设计期末考试试题(含答案),文档

语言程序设计期末考试试题及其答案一、单项选择题〔本大题共20题,每题2分,共40分〕1、以下不是C语言的特点的是()A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、3、一个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(){intx;floaty;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、假设有以下定义inta,b;floatx,那么正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是()#include<stdio.h>{inti=10,j=10;printf("%d,%d\n",++i,j--); }A、11,10B、9,1C、11,9D、10,910、巳知字母A的ASCII 码是65,以下程序的执行结果是()#include<stdio.h>main(){charc1='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语言题库(共12套)之欧阳与创编

大连理工大学C语言题库(共12套)之欧阳与创编

2665944699【第一套】一、单项选择1.下列数据中,为字符串常量的是(d)。

A、'A'B、How do you do.C、$abcD、"house"2.以下所列的C语言常量中,错误的是(b )。

A、0xFFB、1.2e0.5C、2LD、'\72'3.以下程序的输出结果是(d)。

main(){float x=3.6;int i;i=(int)x;printf("x=%f,i=%d\n",x,i );}A、x=3.600000,i=4B、x=3 i=3.600000C、x=3,i=3D、x=3.600000,i=3 4.若k是整型,则以下程序段的执行结果是:(b )k=-3;if(k<=0) printf("####")else printf("&&&&");A、####B、有语法错误,无结果C、&&&&D、####&&&&5.若x=2,y=3则x||y的结果是( c)。

A、3B、0C、1D、26.针对下列程序段回答问题(b ).for(t=1;t<=100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);}A、x>=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x<0时整个循环结束7.以下程序的执行结果是(b )。

main(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",n um ); } }A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,8.选择正确的输入语句(d )。

C语言编写四则运算之欧阳法创编

C语言编写四则运算之欧阳法创编

C语言编写四则运算#include<stdio.h>//计算器#include<malloc.h>#define STACK_SIZE100//max size of the stack #define STACK_INCREMENT10//realloc size typedefstruct FStack//stack of int{float* base;float* top;int stacksize;}FStack;void Init(FStack* s){s->base = (float*)malloc(STACK_SIZE * sizeof(FStack));if (!s->base){printf("overflow!\n");return;}s->top = s->base;s->stacksize = STACK_SIZE;}bool isEmpty(FStack* s){if (s->top == s->base){returntrue;}else{returnfalse;}}void Push(FStack* s, float e){if (s->top - s->base >= s->stacksize) {printf("stack is full!\nrealloc %d\n",STACK_INCREMENT);s->base = (float*)realloc(s->base, (s->stacksize + sizeof(FStack)));if (!s->base){printf("overflow!\n");return;}s->top = s->base + s->stacksize;s->stacksize += STACK_INCREMENT;}*(s->top) = e;(s->top)++;}float GetTop(FStack* s){if (s->top == s->base){printf("stack is empty!\n");return 0;}float e = *(s->top - 1);return e;}void Pop(FStack* s){if (s->top == s->base){printf("stack is empty!\n"); return;}s->top--;}typedefstruct CStack//stack of char {char* base;char* top;int stacksize;}CStack;void Init(CStack* s){s->base = (char*)malloc(STACK_SIZE * sizeof(CStack));if (!s->base){printf("overflow!\n");return;}s->top = s->base;s->stacksize = STACK_SIZE;}bool isEmpty(CStack* s){if (s->top == s->base){returntrue;}else{returnfalse;}}void Push(CStack* s, int e){if (s->top - s->base >= s->stacksize){printf("stack is full!\nrealloc %d\n",STACK_INCREMENT);s->base = (char*)realloc(s->base, (s->stacksize + sizeof(CStack)));if (!s->base){printf("overflow!\n");return;}s->top = s->base + s->stacksize;s->stacksize += STACK_INCREMENT;}*(s->top) = e;(s->top)++;}char GetTop(CStack* s){if (s->top == s->base){printf("stack is empty!\n"); return 0;}char e = *(s->top - 1); return e;}void Pop(CStack* s){if (s->top == s->base){printf("stack is empty!\n"); return;}s->top--;}bool isOper(char ch){if (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '%'){returntrue;}else{returnfalse;}}int Priority(char ch){int p;switch(ch){case'(':p = 0;break;case'+':case'-':p = 1;break;case'*':case'/':case'%':p = 2;break;}return p;}float Calculate(float f1, float f2, char oper) {float f3;switch(oper){case'+':f3 = f1 + f2;break;case'-':f3 = f1 - f2;break;case'*':f3 = f1 * f2;break;case'%':f3 = (float)((int)f1 % (int)f2); break;case'/':if (f2 == 0){printf("\nDevided by zero!"); exit(1);}else{f3 = f1 / f2;}break;}return f3;}float StrtoFloat(char* str, int* pos){float fRes;int i = *pos;int k;char n[50];for (k = 0; str[i] >= '0' && str[i] <= '9' || str[i] == '.'; i++, k++){n[k] = str[i];}n[k] = '\0';*pos = i;fRes = atof(n);return fRes;}bool Check(char* str){int i = 0;while (str[i] != '\0'){if (str[i] != '+' && str[i] != '-' && str[i] != '*' &&str[i] != '/' && str[i] != '%' && str[i] != '.' && str[i] != '(' && str[i] != ')' && (str[i] < '0' || str[i] > '9')){returnfalse;}i++;}returntrue;}void main(){char exp[100];int i;float f, f1, f2;char oper;FStackfstack;CStackcstack;Init(&fstack);Init(&cstack);printf("The expression is:");gets(exp);if (!Check(exp)){printf("input error! exit now!\n");exit(1);}for (i = 0; exp[i] != '\0' && exp[i] != -52; i++) {if (!isOper(exp[i])){f = StrtoFloat(exp, &i);Push(&fstack, f);}if (isOper(exp[i])){if (!isEmpty(&cstack)){while (!isEmpty(&cstack) && Priority(exp[i]) <= Priority(GetTop(&cstack))){oper = GetTop(&cstack);Pop(&cstack);f2 = GetTop(&fstack);Pop(&fstack);f1 = GetTop(&fstack);Pop(&fstack);f = Calculate(f1, f2, oper);Push(&fstack, f);}Push(&cstack, exp[i]);}else{Push(&cstack, exp[i]);}}elseif (exp[i] == '('){Push(&cstack, exp[i]);}elseif (exp[i] == ')'){while (GetTop(&cstack) != '(' && !isEmpty(&cstack)) {oper = GetTop(&cstack);Pop(&cstack);f2 = GetTop(&fstack);Pop(&fstack);f1 = GetTop(&fstack);Pop(&fstack);f = Calculate(f1, f2, oper);Push(&fstack, f);}Pop(&cstack);}}while (!isEmpty(&cstack)){oper = GetTop(&cstack);Pop(&cstack);f2 = GetTop(&fstack);Pop(&fstack);f1 = GetTop(&fstack);Pop(&fstack);f = Calculate(f1, f2, oper);Push(&fstack, f);}printf("\nThe result is:%f\n", GetTop(&fstack)); Pop(&fstack);}。

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

《C语言程序设计》期末试卷时间:2021.03.02 创作:欧阳数
一、单项选择题(10x2’=20’)
1、以下叙述正确的是()
A)C语言的源程序不必通过编译就可以直接运行。

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C)C语言源程序经编译形成的二进制代码可以直接运行。

D)C语言中的函数不可以单独进行编译。

2、一个C语言的源程序中()
A)必须有一个主函数 B)可能有多个主函数C)必须有除主函数外其它函数D)可以没有主函数3、以下不能定义为用户标识符的是()
A)scanf B)Void C)_3com D)int
4、若以下选项中的变量已正确定义,则正确的赋值语句是()
A)x1=26.8%3; B)1+2=x2; C)x3=0x12; D)x4=1+2=3;
5、设有定义:float a=2,b=4,h=3;以下C语言表达式中与代数式的计算结果不相符的是()
A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)
6、C语言中用于结构化程序设计的3种基本结构是()
A)顺序结构、选择结构、循环结构
B)if、switch、break
C)for、while、do-while
D)if、for、continue
7.在while(!x)语句中的!x与下面条件表达式等价的是()
A) x!=0 B) x==1 C) x!=1 D) x==0
8、有以下程序:
#include <stdio.h>
void main(){
int i=1,j=1,k=2;
if( (j++||k++)&&i++ )
printf(“%d,%d,%d\n”,i,j,k);}
执行后的输出结果是()
A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3
9、有以下程序:
#include <stdio.h>
void main(){
int i,s=0;
for(i=1;i<10;i+=2)
s+=i+1;
printf(“%d\n”,s);}
程序执行后的输出结果是()
A)自然数1~9的累加和B)自然数1~10的累加和C)自然数1~9中奇数之和D)自然数1~10中偶数之和
10、有以下函数定义:
void fun(int n,double x){……}
若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()
A)fun(int y,double m);B)k=fun(10,12.5);
C)fun(x,n); D)void fun(n,x);
二、填空题(10x2’=20’)
11、C语言描述“x和y都大于或等于z”的表达式是:。

12、函数定义时涉及的基本要素是:、、。

13、C语言可以用来实现循环的结构化语句是:、、。

14、判断整型变量a即是5又是7的整数倍的C语言表达式是:。

15、若x和n都是int型变量,且x和n的初值都是6,则计算表达式x+=n++后,x的值为:,n的值为:。

三、写出下列程序的运行结果(3x5’ = 15’)
16、程序1
#include <stdio.h>
void main() {
int a=12,b=12;
printf(“%d,%d\n”,--a,++b); }
程序执行后的输出结果是:
17、程序2
#include <stdio.h>
void main() {
int a=5,b=4,c=3,d=2;
if(a>b>c)
printf(“%d\n”,d);
else if((c-1>=d)==1)
printf(“%d\n”,d+1);
else
printf(“%d\n”,d+2);
}
程序执行后的输出结果是:
18、程序3
#include <stdio.h>
void main()
{
int x=0,y=5,z=3;
while(z-->0&&++x<5)
y=y-1;
printf(“%d,%d,%d\n”,x,y,z);
}
程序执行后的输出结果是:
四、编程题(3x15’ = 45’)
19、编写一个程序。

实现输入一个小写字母,程序输出它对应的大写字母。

(提示:小写字母的ASCII码值比大些字母大32)
20、编写一个程序,计算100+101+102+…+300的值。

21、已知学生成绩(100分为满分)与等级的对应关系为:
请你编写一个程序,要求:输入学生成绩,输出学生成绩对应的等级。

(提示:使用switch….case语句)
期末试题答案
1、B
2、A
3、D
4、C
5、B
6、A
7、D
8、C
9、D
10、C
11、 x>=z && y>=z
12、函数名、形式参数、函数体
13、 while 、 do-while 、for
14、a%5==0 && a%7==0
15、12,7
16、11,13
17、3
18、3,2,-1
19、程序代码如下:
#include <stdio.h>
void main()
{
char ch;
scanf("%c",&ch);
printf("%c\n",ch-32); }
20、程序代码如下:
#include <stdio.h>
void main()
{
int i,sum=0;
for (i=100;i<=300;i++) sum+=i;
printf("sum=%d\n",sum); }
21、程序代码如下:
#include <stdio.h>
void main()
{
int grade;
scanf("%d",&grade); switch(grade/10)
{
case 10:
case 9:
printf("A\n"); break;
case 8:
printf("B\n"); break;
case 7:
printf("C\n"); break;
case 6:
printf("D\n"); break;
default:
printf("E\n"); break;
}
}
期末试题答案备用卷
1、B
2、A
3、D
4、D
5、B
6、A
7、A
8、B
9、B
10、A
11、整型、实型、字符型
12、3
13、2,1
14、9,0
15、return
16、double
17、7
18、2
19、2,1,1
20、程序代码:
#include <stdio.h>
void main()
{
int a,b,c;
float pinjun;
scanf("%d%d%d",&a,&b,&c); pinjun = (a+b+c)/3.0;
printf("%.2f\n",pinjun); }
21、程序代码:
#include <stdio.h>
void main()
{
int a;
scanf("%d",&a);
if(a<0)
a=-a;
printf("%d\n",a);
}
22、程序代码:
#include <stdio.h>
void main()
{
float x,y;
scanf("%f",&x);
if(x<=0)
y=3*x+5;
else if(x>0 && x<=1)
y=x+5;
欧阳数创编else
y=-2*x+8;
printf("%.2f\n",y);
}
欧阳数创编。

相关文档
最新文档