精心打造东北大学近四年C语言理论考试试题及答案
东北大学C语言机考试题全
7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45在物理实验中,获得5个数据{0.89,0.78,0.0009,0.67,0.56},其中有一个数据小于0.001,此数据无效,将此无效在跳水比赛中,有10个评委共同打分,评分规则是去除最高分和最低分,然后计算剩余8个评委分数的平均分作为已知一有序序列1,2,4,6,12,14,要求从键盘输入一个整数,将此整数插入到此有序序列中。
要求输出原始数组和从键盘读入一整数,判断其在数组3,23,-7,8,9,10中是否存在,假设此数组中不存在重复的数字。
若存在,则删除(2)当x大根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
(1)当x小于1时,y等于2+cos(x)从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。
例如输入12.345,其结果为12.35;输从键盘输入三个整数a、b、c,输出其中最小的数。
从键盘输入三个整数a、b、c,输出其中最大的数。
从键盘输入一个百分制成绩,将其转换为等级'A'、'B'、'C'、'D'、'E'后输出成绩。
转换规则为:90分以上为'A 输入一个3位的正整数,判定该正整数是否为一个回文数。
(所谓回文数是指正读和反读都相同的数,例如131)。
从键盘输入一个字母表示的成绩,将其转换为分数。
规则是'A'对应95、'B'对应85、'C'对应75、'D'对应65、'E'输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 1(2)当x大于根据下面的函数关系,输入X,计算Y,要求输出结果保留两位小数。
东大C语言及程序设计网考复习资料答案
东北大学继续教育学院C语言及程序设计复习题第一部分(填空题):1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.连接符C.数字字符D.下划线答案:B2.下面关于计算机正确的是( )。
A.计算机由硬件系统和软件系统两部分构成B.只要有硬件系统,计算机就能工作C.计算机只能处理文本信息D.计算机只能处理计算问题答案:A3.( )是c语言提供的合法的数据类型关键字。
A.IntB.longC.CharD.integer答案:B4.面向过程的高级语言包括( )。
A.C,JA V AB.C,BASICC.C++.NET,ASPD.C,VB答案:B5.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A.编译程序B. 操作系统C.教务管理系统D.汇编程序答案:C6.以下选项中关于C语言常量的叙述错误的是()。
A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可以定义成常量答案:D7.下面描述中正确的是()。
A.C语言提供了专门的输入/输出语句B.C语言调用输入/输出函数时需要使用include命令包含头文件C.C语言可以直接使用输入/输出函数D.输入/输出函数所在的头文件是stdlib.h答案:B8.假设有char型变量c1,c2,执行下面程序段:c1=gatchar();c2=gatchar();printf(“c1=%c,c2=%c\n”,c1,c2);如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。
A.ab<回车>B.a<回车>b<回车>B.C.a<空格>b<回车> D.a<tab>b<回车>答案:A9.下面描述中正确的是()。
东北大学机械学院C语言考试题库及答案
东北大学机械学院C语言答案题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END。
(可选用switch 语句编写)6 题目:编写程序将用户输入的字母进行大小写转换。
7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数。
若是则输出该数;否则输出-1。
8 题目:输入一个整数,判断它是奇数还是偶数并输出。
9 题目:从键盘输入二个整数a、b,将其按大到小排列。
10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。
例如:13、17、113、317等。
11 题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:(1)能同时被3,5,7整除;(2)能被其中两数(要指出哪两个)整除;(3)被其中一个数(要指出哪一个)整除;(4)不能被3,5,7任一个整除。
12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。
(所谓回文素数是指正读和反读都相同的数,例如12321)。
13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作。
14 题目:输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。
15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。
16 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。
17 题目:计算二次方程的根。
18 题目:给出一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字。
19 题目:从键盘输入三个整数a、b、c,输出其中最大的数。
东北大学C语言机考试题全
主观题
Page 5
程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题
程序设计 题 程序设计 题 程序设计 题 程序设计 题
2 0.113396 2 0.948186 3 0.045317 3 0.886919 3 0.150624 3 0.43147 3 0.060552 3 0.69595 3 0.409323 3 0.848001 1 0.483078 1 0.662013 2 0.060207 2 0.498132
题号 7
8
9
12
13 14 15 16 17 18 19 20
21
22 23 24 25 26 27 28 29 30
主观题 Page 1
主观题 31 32 33 34 35 36 37 38 40 41 42 43 44 45
Page 2
主观题
题目 在物理实验中,获得5个数据{0.89,0.78,0.0009,0.67,0.56},其中有一个数据小于0.001,此数据无效,将此 无效数据删除。要求编制函数cleandata(double *p)实现数据的清理工作,并在主函数输出删除之前的数组和 在跳水比赛中,有10个评委共同打分,评分规则是去除最高分和最低分,然后计算剩余8个评委分数的平均分作 为最终成绩。要求编制打分函数pscore(double *p),输入一次跳水动作中,10个评委打出的成绩,并计算此 动作的最终成绩。在主函数中调用此函数计算某次动作的分数。 已知一有序序列1,2,4,6,12,14,要求从键盘输入一个整数,将此整数插入到此有序序列中。要求输出原始数组 和插入之后的数组。要求编制函数insert(int *p,int d)实现此功能,在主函数调用此函数。 提示:例如输入整数位7,首先要找到7在整个序列中的位置,然后将7插入到当前位置。 从键盘读入一整数,判断其在数组3,23,-7,8,9,10中是否存在,假设此数组中不存在重复的数字。若存在,则 删除此数;否则,提示此数不存在。要求:编制函数remove(double *p,double d)实现数据的清理工作,并输 出原始数据和删除后的数据。 根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。 (1)当x小于1时,y等于2+cos(x) (2)当x大于等于1且x小于2时,y等于x的平方加上sin(x) (3)当x大于等于2时,y等于(x-2)的平方根; 要求:按格式输出x和y的值,要求小数点后保留3位。 从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。例如输入12.345,其结果为 12.35;输入12.341,其结果为12.34。
东北大学C语言期末题库.
C 语言提纲总体上必须清楚的 :1 程序结构是三种 : 顺序结构 , 循环结构 (三个循环结构 , 选择结构 (if 和 switch2 读程序都要从 main(入口 , 然后从最上面顺序往下读 (碰到循环做循环 , 碰到选择做选择。
3 计算机的数据在电脑中保存是以二进制的形式 . 数据存放的位置就是他的地址 .4bit 是位是指为 0 或者 1。
byte 是指字节 , 一个字节 = 八个位 .5 一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是 C 语言的一部分,不再运行时间。
C 语言编译的程序称为源程序,它以 ASCII 数值存放在文本文件中。
2、每个 C 语言程序中 main 函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、 break 可用于循环结构和 switch 语句。
6、逗号运算符的级别最低。
第一章1合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方 If 是可以做为用户标识符。
因为 If 中的第一个字母大写了,所以不是关键字。
2实型数据的合法形式:2.333e-1 就是合法的,且数据是 2.333×10-1。
考试口诀:e 前 e 后必有数, e 后必为整数。
.3字符数据的合法形式 ::'1' 是字符占一个字节, "1" 是字符串占两个字节 (含有一个结束符号。
'0' 的 ASCII 数值表示为 48, 'a' 的 ASCII 数值是 97, 'A'的 ASCII 数值是 65。
4 整型一般是两个字节 , 字符型是一个字节,双精度一般是 4个字节:考试时候一般会说,在 16位编译系统,或者是 32位系统。
大学C语言考试题库(含答案)
单项选择================================================== 题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A、11 和10B、11 和11C、10 和11D、10 和10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______ main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。
东北大学c语言编程试题及其答案
东北大学C语言题库第一部分(选择题)1、构成C语言的基本单位是________。
你的答案是:正确答案是:B过程函数语句命令2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是_____。
你的答案是:正确答案是:A5<="">x>5&&x<10x==6||x==7||x==8||x==9!(x<=5)&&(x<10)3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为_____。
你的答案是:正确答案是:D&&、||、!||、&&、!&&、!、||!、&&、||4、下面语句中,正确的是_____。
你的答案是:正确答案是:Dprintf("%c\n","student");printf("%c\n","c");printf("%s\n",&a);printf("%s\n","hello");5、对于for(表达式1;;表达式3)可以理解为_____。
你的答案是:正确答案是:Bfor(表达式1;0;表达式3)for(表达式1;1;表达式3)for(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)6、执行下面程序段的结果是_____。
main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }你的答案是:正确答案是:Ba=1,b=1a=2,b=1a=1,b=0a=2,b=27、执行下面程序段的结果是_____。
东北大学(秦皇岛)c语言考试题8
东北大学(秦皇岛)c语言考试题8一、选择题答案1. 有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是A) 1B) 3 0C) 1 -2D) 死循环你所选择的答案是:*,正确答案是:C ×2. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为main( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}A) ABCDEFGB) IJHLC) ABCDEFGHIJKLD) IJKLABCDEFGH你所选择的答案是:*,正确答案是:D ×3. 以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){ p=aa;printf("%d\n",++(p->x));}A) 10B) 11C) 51D) 60你所选择的答案是:*,正确答案是:C ×4. 以下选项中,非法的字符常量是A) '\t'B) '\17'C)"n"D) '\xaa'你所选择的答案是:*,正确答案是:C ×5. 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A) fopen("A:\user\abc.txt","r")B) fopen("A:\\user\\abc.txt","r+")C) fopen("A:\user\abc.txt","rb")C) fopen("A:\\user\\abc.txt","w")你所选择的答案是:*,正确答案是:B ×6. 以下不能正确进行字符串赋初值的语句是A) char str[5]="good!";B) char str[]="good!";C) char *str="good!";D) char str[5]={'g','o','o','d'};你所选择的答案是:*,正确答案是:A ×7. 若有以下程序:#include "stdio.h"main(){int k=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}执行后的输出结果是A) 8,6B) 8,3C) 6,4D) 7,4你所选择的答案是:*,正确答案是:C ×8. 有一函数,1 (x>0)y= 0 (x=0)-1(x<0)以下程序段中不能根据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 ×9. 有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345 &&n<3);此处do-while循环的结束条件是A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于3你所选择的答案是:*,正确答案是:D ×10. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是A) p=q;B) *p=*q;C) n=*q;D) p=n;你所选择的答案是:*,正确答案是:D ×11. 有以下程序float fun(int x,int y){ return(x+y); }main(){ int a=2,b=5,c=8;printf("%3.0f\n",fun(int)fun(a+c,b),a-c));}程序运行后的输出结果是A) 编译出错B) 9C) 21D) 9.0你所选择的答案是:*,正确答案是:B ×12. 有以下程序void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){ char a='A',b='a';fun(&b,a); printf("%c,%c\n",a,b);}程序运行后的输出结果是A)B,a,B,aB) a,B,a,BC) A,b,A,bD) b,B,A,b你所选择的答案是:*,正确答案是:D ×13. 在一个C程序中()。
东北大学(秦皇岛)c语言考试题14
东北大学(秦皇岛)c语言考试题14一、选择题答案1. 以下所列的C语言常量中,错误的是A) 0xFFB) 1.2e0.5C) 2LD) '\72'你所选择的答案是:*,正确答案是:B ×2. 若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:A) 10<回车>22<回车>33<回车>B) 10.0,22.0,33.0<回车>C) 10.0<回车>22.0 33.0<回车>D) 10 22<回车>33<回车>你所选择的答案是:*,正确答案是:B ×3. 以下程序的输出结果是long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }B) 2C) 3D) 4你所选择的答案是:*,正确答案是:A ×4. 以下程序的输出结果是main(){ int x=0.5; char z='a';printf("%d\n", (x<1)&&(z<'z') ); }A) 0B) 1C) 2D) 3你所选择的答案是:*,正确答案是:B ×5. 以下程序的输出结果是main(){int num= 0;while(num<=2){num++; printf("%d\n",num);}}A) 1234B) 123C) 12你所选择的答案是:*,正确答案是:B ×6. 以下程序的输出结果是main(){ char c='z';printf("%c",c-25);}A) aB) ZC) z-25D) y你所选择的答案是:*,正确答案是:A ×7. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3B) 6C) 10D) 20你所选择的答案是:*,正确答案是:D ×8. 以下程序的输出结果是union myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf(%d\n",a.u.x);}B) 5C) 6D) 0你所选择的答案是:*,正确答案是:D ×9. 以下程序段的输出结果是char s[]="\\141\141abc\t";printf ("%d\n",strlen(s));A) 9B) 12C) 13D) 14你所选择的答案是:*,正确答案是:A ×10. 在C语言中,形参的缺省存储类是A) autoB) registerC) staticD) extern你所选择的答案是:*,正确答案是:A ×11. 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A) fopen("A:\user\abc.txt","r")B) fopen("A:\\user\\abc.txt","r+")C) fopen("A:\user\abc.txt","rb")C) fopen("A:\\user\\abc.txt","w")你所选择的答案是:*,正确答案是:B ×12. 若有定义:int aa[ 8];。
东北大学《C语言及程序设计》期末考试必备真题集(含答案)63
东北大学继续教育学院C语言程序设计X复习题第一部分(填空题):1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.连接符C.数字字符D.下划线答案:B2.下面关于计算机正确的是( )。
A.计算机由硬件系统和软件系统两部分构成B.只要有硬件系统,计算机就能工作C.计算机只能处理文本信息D.计算机只能处理计算问题答案:A3.( )是c语言提供的合法的数据类型关键字。
答案:B4.面向过程的高级语言包括( )。
,JAVA ,BASIC ++.NET,ASP ,VB答案:B5.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A.编译程序B. 操作系统C.教务管理系统D.汇编程序答案:C6.以下选项中关于C语言常量的叙述错误的是()。
A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可以定义成常量答案:D7.下面描述中正确的是()。
语言提供了专门的输入/输出语句语言调用输入/输出函数时需要使用include命令包含头文件语言可以直接使用输入/输出函数D.输入/输出函数所在的头文件是答案:B8.假设有char型变量c1,c2,执行下面程序段:c1=gatchar();c2=gatchar();printf(“c1=%c,c2=%c\n”,c1,c2);如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。
A.ab<回车> <回车>b<回车>B.<空格>b<回车> <tab>b<回车>答案:A9.下面描述中正确的是()。
()函数的输出列表项只允许是变量()函数的输出列表项可以是常量、变量以及表达式()函数输出列表项也可以是另一个printf()函数()函数的输出列表项之间用空格分隔答案:B10.假设有:int a,b; scanf("%d,%d",&a,&b);为了得到a和b分别为10和20,从键盘正确输入数据的是()。
(word完整版)C语言考试题库及答案,推荐文档
C 语言理论上机考试选择题部分(共200 题)1、下面程序的输出是___D ______#include<stdio.h>void main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D _______A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C 语言字符常量是_______ A ____ .A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9 的值是________ D ___ .A) true B) 非零值C) 0 D) 15 、C 语言提供的合法的数据类型关键字是_ B ___ .A) Double B) short C) integer D) Char6、字符(char) 型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC 码D) ASCII 码7、C 语言程序的基本单位是_____ C _____ .A) 程序行B) 语句C) 函数D) 字符 &设int a=12,则执行完语句a+=a-=a*a后,a的值是___ D ___A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是_ B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010 、下面程序的输出是____ B _____ .{int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411 、下面程序的输出的是 ____ C ___ .#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是_____ A ____ .#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if 后一对圆括号中表示a 不等于0 的关系,则能正确表示这一关系的表达式为_______ D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____ D _____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是____ D ____ .A) 1 B) 0 C) 4 D) 316、为表示关系x > y > z,应使用C语言表达式___A___.17、 C 语言中非空的基本数据类型包括_____ B ___ .A) 整型,实型,逻辑型B) 整型,实型,字符型#include<stdio.h> void main() A) (x>=y)&&(y>=z)C) (x>=y>=z)B) (x>=y)AND(y>=z)D) (x>=y) & (y>=z)C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x 和y 都是int 型变量,x=100,y=200, 且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是_______________________________ A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h> void main() { charch; scanf("%3c",&ch); printf("%c",ch);}如果从键盘上输入abc< 回车> 则程序的运行结果是__A ______________________ .A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h> void main() {int i,j;i=010; j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是_____ D __ .A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h> void main(){int i,j,m,n; i=8;j=10; m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_______ C ____ .A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10D) 9,10,9,1122、已知a=12, 则表达式a+=a-=a*=a 的结果是 ____ A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入是 ___ D .1 2 34567<回车>,则程序的运行结果A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是_____ D ___ .#include<stdio.h> void main(){int a=-1, b=4, k; k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是_____ A ___ .#include<stdio.h> void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是_____ A ___ .int a;int b=65536; a=b; printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____ B ____ .A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double 型变量x=2.5,y=4.7, 整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________ B ____ .A) 2.4 B) 2.5 C) 2.75 D) 030 、若已定义x 和y 是整型变量,x=2;, 则表达式y=2.75+x/2 的值是 ___ C ___ .A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是______ D ___ .#include<stdio.h> void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332 、设有以下语句:int x=10;x+=3+x%(3), 则x 的值是. _____ A _____A) 14 B) 15 C) 11 D) 1233、若d 为double 型变量,则表达式d=1,d+5,d++ 的值是___ D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3 的值是____ D ___ .A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a 的值__________ A ____ . A) 0 B) 1 C) 12 D) 6D) C 语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符_____ C __ .A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是___D ____ .A) float B) char C) int D) double40、一个C 语言的执行是从_____ A _____ .A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的 C 语言表达式是___ A ___ .A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_______ C ___ .#include <stdio.h>void main( ) { int a=5,b=60,c;if (a<b) {c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 12 43、如果 c 为字符型变量,判断 c 是否为空格不能使用___ A ___ .( 假设已知空格ASCII 码为32)A) if(c=='32') B) if(c==32)36、若有定义int x=3,y=2 和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b 的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C 语言中,以下叙述不正确的是_____ A ___ .A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C 程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同44、运行下面程序时,若从键盘输入"3,5<CR>" ,则程序的输出结果是____ D___ .#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y) printf("x==y");else if (x>y) printf("x>y");else printf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45 、运行下面程序时,若从键盘输入数据为"6,5,7<CR>" ,则输出结果是C___.C) if(c=='\40') D) if(c==' ')#include <stdio.h>void main( ){ int a,b,c; scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c) printf("%d\n",a);else printf("%d\n",c);elseif (b>c) printf("%d\n",b);else printf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>" ,则程序的运行结果是_____ A ____ .#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9') k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10; printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>" ,则输出9士里阜 D结果是___B ____ .#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是_____ A ___ .#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是____ C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!51、执行下列程序段后的输出结果是 ________ A __ .int x=1,y=1,z=1; x+=y+=z;printf("%d\n",x<y?y:x); A) 3 B) 2 C) 1D) 452、设 ch 是 char 型变量 ,值为 'A', 则表达式 ch=(ch>='A' && ch<='Z')?ch+32:ch 的值是 __B___. A) Z B) aC) zD) A53、下面程序的输出结果是 _____ C #include <stdio.h> void main( ){ int x=8,y=-7,z=9; if (x<y)if (y<0) z=0; else z-=1; printf("%d\n",z);}A) 8 B) 154、运行下面程序时 ,若从键盘输入 "5 <CR>", 则程序的 输出结果是 _____________ B ___. #include <stdio.h> void main( ){ int a ; scanf("%d",&a); if (a++>5)printf("%d\n",a); else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入 "3 ,4 <CR>" ,则 程序的输出结果是 ____ B___. #include <stdio.h> void main( ){ int a,b,s; scanf("%d,%d",&a,&b); s=a; if (s<b) s=b; s=s*s; printf("%d\n",s) ;}A) 14 B) 16 C) 18D) 20#include <stdio.h> void main( ) { int x=0,y=1,z=0; if (x=z=y)x=3; printf("%d,%d\n",x,z);}A) 3,0B) 0,0C) 0,1 D) 3,157、假定等级和分数有以下对应关系: 等级:A 分数:85〜100 等级:B 分数:60〜84 等级: C分数: 60 以下对于等级 grade 输出相应的分数区间,能够完成该功 能的程序段是 ________ D ___ . A) switch (grade){case 'A':printf("85--100\n"); case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} B) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} C) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} D) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n");break; default:printf(" 等级错误 !\n");}58、能够完成如下函数计算的程序段是__B厂-1x<0 y=T 0x=0 L1x>056、下列程序的执行结果是 ______ DA) y=1;B) if (x>=0)Bye_Bye!C) 9D) 0if (a) d=d-10; else if(!b) if (!c) x=15; else x=25; printf("d=%d\n",d);}A) d=20B) d=10C) d=15D) 2562、有如下程序 : #include <stdio.h> void main( ){ int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c++; printf("%d\n",c);}该程序的输出结果是 ___C _____ . A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是 ______ B __ . #include <stdio.h> void main( ){ int x,y=1,z; if ((z=y)<0) x=4; else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序 #include <stdio.h> void main( ){ int x=1,a=0,b=0; switch(x) {case 0: b++; case 1:a++; case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是 _______ A ___ . A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是 _____ C ___ . #include <stdio.h>if(x!=0)if(x>0) y=1; else y=0; C) y=0;if (x>=0)if (x>0) y=1; else y=-1;if(x>0) y=1; else y=0; elsey=-1;D) y=-1;if (x>0) y=1; else y=0;59、有如下程序 #include <stdio.h> void main( ) { float x=5.0,y; if(x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y=1.0; printf("%f\n",y);}该程序的输出结果是 C ____ .A) 0.000000 B) 0.50000 C) 0.200000D) 1.00000060、以下程序的执行结果是 ___B _____ . #include <stdio.h> void main( ) { int x=1,y=0; switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break; }case 2:printf("third\n");}}A) firstB) first second third C) firstD) secondthird61、以下程序的执行结果是 _____ A #include <stdio.h> void main( ){ int a,b,c,d,x; a=c=0; b=1; d=20;void main( ){ int a=-1,b=1,k; if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else printf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m 均为int 型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序段执行后,m 的值是____________ D __________ . A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D ______ .main( ) { int a=100;if (a>100) printf("%d\n",a>100); elseprintf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入是. B#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);} A) 11 B) 10 C)969、以下程序输出结果是______ D ____#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m);70、若执行下面的程序从键盘上输入5,则输出结果是#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是_____ A___ .int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x); A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h> void main( ) { int a,b,c=246;a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b);}输出结果是___ A ____ .A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123" ,则输出结果是___C ___ .#include "stdio.h"void main(){ int num,i,j,k,place; scanf("%d",&num); if (num>99)place=3;else if(num>9)place=2;elseplace=1; i=num/100; j=(num-i*100)/10;k=(num-i*100-j*10); switch (place) { case 3:printf("%d%d%d\n",k,j,i); break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D _____ .#include <stdio.h> void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x 的是 __B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a 输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 109,则输出结果D) 8A) 7 B) 6 C) 5 D) 477、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是______ C___ .#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else 语句的二义性,C 语言规定else 总是与___C___ 组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t 均为int 型变量,则执行以下语句后,t 的值为___ C ____ .x=y=z=1; t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段 C ________ .x=-1;do{x=x*x;} while (!x);A) 是死循环B) 循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B _____ .int x=0,s=0;while (!x!=0) s+=++x; printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____ C ___ .x=3; do { y=x--;if (!y) {printf("*");continue;} printf("#");} while(x=2);A) ## B) ##* C)死循环D)输出错误信息84、下面程序的运行结果是 B . #include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0); printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____ B _____ .int n=0;(n * n )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求n 的功能。
东北大学C语言考试题库及答案
东北大学C语言考试题库及答案————————————————————————————————作者:————————————————————————————————日期:题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END.(可选用switch 语句编写)6 题目:编写程序将用户输入的字母进行大小写转换。
7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数.若是则输出该数;否则输出—1。
8 题目:输入一个整数,判断它是奇数还是偶数并输出。
9 题目:从键盘输入二个整数a、b,将其按大到小排列.10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。
例如:13、17、113、317等。
11 题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:(1)能同时被3,5,7整除;(2)能被其中两数(要指出哪两个)整除;(3)被其中一个数(要指出哪一个)整除;(4)不能被3,5,7任一个整除.12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。
(所谓回文素数是指正读和反读都相同的数,例如12321)。
13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作.14 题目:输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。
15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。
16 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。
17 题目:计算二次方程的根。
东北大学(秦皇岛)c语言考试题1
一、选择题答案1. 若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); B) switch(a*a+b*b){ case 1:y=a+b; break; {case 3:case 0:y=a-b; break; case 1:y=a+b;break;} case 3:y=b-a,break;}C) switch a D) switch(a-b){ case c1 :y=a-b; break {default:y=a*b;break case c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b; case 10:case 11:y=a-b;break;} }你所选择的答案是:*,正确答案是:D ×2. 有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是A) 1B) 3 0C) 1 -2D) 死循环你所选择的答案是:*,正确答案是:C ×3. 下列程序的输出结果是main(){ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}A) 非法B)a[4]的地址C)5D)3你所选择的答案是:*,正确答案是:C ×4. 当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值你所选择的答案是:*,正确答案是:B ×5. 以下选项中合法的字符常量是A)"B"B) '\010'C) 68D) D你所选择的答案是:*,正确答案是:B ×6. 以下合法的赋值语句是A) x=y=100B) d--;C) x+y;D) c=int(a+b);你所选择的答案是:*,正确答案是:B ×7. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A) INPUT x、y、z;B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z);D) read("%d%d%d",&x,&y,&z);你所选择的答案是:*,正确答案是:B ×8. 阅读以下程序:main(){ int x;scanf("%d",&x);if(x--<5) printf("%d"'x);else printf("%d"'x++);}程序运行后,如果从键盘上输人5,则输出结果是A)3B) 4C) 5D) 6你所选择的答案是:*,正确答案是:B ×9. 以下程序的输出结果是main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}A) 0650B) 1470C) 5430D) 输出值不定你所选择的答案是:*,正确答案是:A ×10. 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是A) x || yB) x | yC) x & yD) x ^ y你所选择的答案是:*,正确答案是:D ×11. 下面的程序执行后,文件testt.t中的内容是#include <stdio.h>void fun(char *fname.,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;i<strlen(st); i++)fputc(st[i],myf);fclose(myf);}main(){ fun("test","new world"; fun("test","hello,"0;)A)hello,B)new worldhello,C)new worldD)hello, rld你所选择的答案是:*,正确答案是:A ×12. 若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是A) a的值是字符CB) a的值是浮点型C) 不允许字符型和浮点型相加D) a的值是字符'A'的ASCII值加上1。
东北大学智慧树知到“计算机科学与技术”《C语言及程序设计》网课测试题答案卷1
东北大学智慧树知到“计算机科学与技术”《C语言及程序设计》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共10题)1.函数必须有返回值,否则不能使用函数。
()A.正确B.错误2.C语言本身没有输入输出语句。
()A.正确B.错误3.若执行fopen函数时发生错误,则函数的返回值是()。
A.随机值B.1C.NULLD.EOF4.若运行以下程序时,从键盘输入25,13,10回车,则输出结果为()。
main(){int a1,a2,a3;scanf("%d%d%d",a1,a2,a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A.a1+a2+a3=48B.a1+a2+a3=25C.a1+a2+a3=10D.不确定值5.若运行以下程序时,从键盘输入25,13,10回车,则输出结果为()。
{int a1,a2,a3;scanf("%d%d%d",a1,a2,a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A.a1+a2+a3=48B.a1+a2+a3=25C.a1+a2+a3=10D.不确定值6.下列程序的输出为()。
#include stdio.h;main(){int m=13;float a=12.6,x;x=m/2+a/2;printf(“%f\n”,x);}A.12B.12.3C.12.8D.12.37.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是()。
A.0~255B.0~65535C.-32768~+32767D.-256~+2558.以下是正确的C语言标识符是()。
A.#defineB._123C.%dD.\n9.设I和x都是int类型,则对于for循环语句for(i=0,x=0; iA.执行8次B.执行9次C.是无限循环D.循环体一次也不执行10.在C程序中main函数必须位于程序的最前面。
东北大学C语言样题
东北大学C语言样题1.从键盘输入任意浮点数,对此数进行四舍五入处理,小数后仅仅保留4位,例如x=3.1415926则经过处理后,x=3.1416。
在格式输出时,小数后也输出4位。
#includeint main(){float s;scanf("%f",&s);printf("%.4f",s);return 0;}2. 初始化一个3X5的二维矩阵,计算前4列的和,保存在每行的最后一个元素中。
例如:第一行的和为A[0][0]+ A[0][1] +A[0][2]+ A[0][3],放入A[0][4]中,要求输出原始矩阵和新矩阵。
#includeint main(){int a[3][5]={{1,2,3,4,1},{1,2,3,4,1} ,{1,2,3,4,1} ,},i,j;for(i=0;i<=2;i++){for(j=0;j<=3;j++)printf("%4d",a[i][j]);printf("\n");}for(i=0;i<=2;i++)a[i][4]=a[i][1]+a[i][2]+a[i][3]+a[i][0];printf("\n");for(i=0;i<=2;i++){for(j=0;j<=4;j++)printf("%4d",a[i][j]);printf("\n");}}3. 编制函数mystrcat(char *s1,char *s2),将字符串s2种的数字字符连接到字符串s1的后面。
例如s1=”1010”,s2=”Hi1T2”,则连接后的s1为“101012”。
#include#includevoid mystrcat(char *s1,char *s2){int i;//printf("%d",strlen(s1));for(i=strlen(s1);*s2!='\0';i++){*(s1+i)=*s2;//putchar(*s1);s2++;//printf("OK");}*(s1+i)='\0';printf("%s",s1);}void main(){char a[30],b[30];printf("请输入第一个字符串:");scanf("%s",a);printf("请输入第二个字符串:");scanf("%s",b);mystrcat(a,b);}4.写一个函数mystrcmp(char *s1,char *s2),其功能和库函数strcmp相同。
东北大学(秦皇岛)c语言考试题7
东北大学(秦皇岛)c语言考试题7一、选择题答案1. 若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3:case 0:y=a-b; break; case 1:y=a+b;break;}case 3:y=b-a,break;}C) switch a D) switch(a-b) { case c1 :y=a-b; break {default:y=a*b;breakcase c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b;case 10:case 11:y=a-b;break;}}B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)你所选择的答案是:*,正确答案是:C ×5. 下列程序的运行结果是void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A) 6 3B) 3 6C) 编译出错D) 0 0你所选择的答案是:*,正确答案是:B ×6. 以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto和staticB) auto和registerC) register和staticD) extern和register你所选择的答案是:*,正确答案是:B ×7. 以下程序的输出结果是main(){ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);}A) 18B) 19C) 20D)21你所选择的答案是:*,正确答案是:A ×8. 以下合法的赋值语句是A) x=y=100B) d--;C) x+y;D) c=int(a+b);你所选择的答案是:*,正确答案是:B ×9. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3B) 9,3C) 9,2D) 10,2你所选择的答案是:*,正确答案是:D ×10. 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(w<x)?w; x; m=(m<y)?m;y; m=(m<z)?m; z;则该程序运行后,m的值是itA) 4B) 3C) 2D) 2你所选择的答案是:*,正确答案是:D ×11. 设有以下函数:f ( int a){ int b=0;static int c = 3;b++; c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){ int a = 2, i;for(i=0;i<3;i++) printf("%d\n",f(a));}A) 789B) 7911C) 71013D) 777你所选择的答案是:*,正确答案是:A ×12. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3B) 6C) 10D) 20你所选择的答案是:*,正确答案是:D ×13. 以下程序的输出结果是main(){ char st[20]= "hello\0\t\\\";printf(%d %d \n",strlen(st),sizeof(st));}A) 9 9B) 5 20C) 13 20D) 20 20你所选择的答案是:*,正确答案是:B ×14. 以下程序段的输出结果是int a=1234;printf("%2d\n",a);A) 12B) 34C) 1234D) 提示出错、无结果你所选择的答案是:*,正确答案是:C ×15. 以下程序的输出结果是main(){ char x=040;printf("%d\n",x<<1);}A) 100B) 80C) 64D) 32你所选择的答案是:*,正确答案是:C ×16. 以下程序的输出结果是main(){ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++) t=t+b[i][b[j][j]];printf("%d\n",t);}A) 3B) 4C) 1D) 9你所选择的答案是:*,正确答案是:B ×17. 若以下定义:struct link{ int data;struck link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构: a bdata next data next┌──┬──┐┌──┬──┐│ 5 │┼──→│9 │\0 │└──┴──┘└──┴──┘↑pcdata next┌──┬──┐│7 ││└──┴──┘↑q指针p指向变量a,q指向变量c。
2022年东北师范大学公共课《C语言》科目期末试卷A(有答案)
2022年东北师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。
2、在C语言源程序中,一个变量代表【】。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+105、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。
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、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);10、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
东北大学C语言考试题库
(2)在主函数中初始化原始矩阵,输出原始矩阵以及交换发生后的矩阵。
例如:初始化矩阵为:交换后矩阵为:
1 4 5 8 1 5 4 8
3 2 6 7
3
22
编写函数void fun(char str[30],char a),删除字符串str中所有a代表的字符,被删除后的字符依次向前移动。
3
25
编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。要求:不允许使用strcat()和strlen()字符处理库函数,在主函数以直接初始化的方式输入两个字符串str1和str2。如输入str1为"howareyou",str2为"me",调用catStr函数后str1为"howareyoume",调用lenStr函数后输出11。
1
10
利用公式e=1/1!+1/2!+1/3!+…+1/n!计算e的值并输出(要求:误差小于10-5)。
1
11
从键盘输入一个字符串str,统计其中大写英文字母A,B,C,D出现的次数。要求输出原始字符串,以及统计的结果。
2
12
将字符串a中的每个字符用加3的方法加密并存入数组b中,再对b中的字符串解密存入数组c。要求:初始化字符串a,依次输出字符串a、b、c。
3
27
编写函数int fun(char *t,char a),统计字符串t中有多少个变量a代表的字符。
2022年东北师范大学公共课《C语言》科目期末试卷B(有答案)
2022年东北师范大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量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;_______;2、在C语言源程序中,一个变量代表【】。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。
6、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。
7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、下面程序段将输出computer。
请填空。
char c[]="It is a computer";for(i=0;_______;i++){_______;printf("%c",c[j]);}9、字符串"ab\n\\012\\\"”的长度是_______。
10、若有以下定义和语句,则在程序中可通过指针pt,用*(pt[i]+j)等4种形式引用数组元素x[i][],另3种形式分别是:_______、_______和_______。
(假设ij已正确说明并赋值。
)int x[10][6],(*pt)[6];pt=x;二、选择题11、若有定义语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精心打造东北大学近四年C语言理论考试试题及答案!!!会有用的。
东北大学C语言期末考试题及答案(1)1、构成C语言的基本单位是___B____。
过程函数语句命令2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是__B___。
5x>5&&x<10x==6||x==7||x==8||x==9!(x<=5)&&(x<10)3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为__D___。
&&、||、!||、&&、!&&、!、||!、&&、||4、下面语句中,正确的是__D___。
printf("%c\n","student");printf("%c\n","c");printf("%s\n",&a);printf("%s\n","hello");5、对于for(表达式1;;表达式3)可以理解为__B___。
for(表达式1;0;表达式3)for(表达式1;1;表达式3)for(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)6、执行下面程序段的结果是__B___。
main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }a=1,b=1a=2,b=1a=1,b=0a=2,b=27、执行下面程序段的结果是__D___。
int x=0; do { printf(“-”,x--); }while (x);打印出321打印出23不打印任何结果陷入死循环8、设x=10,y=5;z=15,执行下面一段程序后z的结果是__C___。
If(x>y) if(y>z)x=y; else z=y;76549、如果一个函数被说明为static,那么__B___。
该函数只能被main函数调用该函数能被当前文件的函数调用,但不能被其他文件的函数调用该函数不能被当前文件的函数调用,可以被其他文件的函数调用任何文件的函数都可以调用该函数10、下面关于局部变量的描述中,错误的是__D___。
函数的局部变量的有效范围只能在本函数函数的形式参数也是局部变量局部变量的名称不能和函数同名称不同的函数中不能定义相同名称的局部变量11、下列初始化字符数组的语句中,错误的是__A___。
char str[5]="hello";char str[]={'h','e','l','l','o','\0'};char str[5]={"hi"};char str[100]="";12、引用数组元素时,数组下标可以是__D___。
整型常量整型变量整型表达式以上均可13、已知:char str[10],*p=str; 下面的语句中正确的是__B___。
str="ABC";p="ABC";*str="ABC";*p="ABC";14、下面语句中,错误的是___D__。
int i;int *p;p=&i;int i,*p;p=&a;int i,*p=&a;int i,*p;*p=i;15、下面对于结构体类型的描述正确的是__A___。
结构体类型的大小为各成员变量所占内存的总和结构体类型变量与简单数据类型变量的引用规则一致。
结构体类型的大小为其成员中所占内存空间最大的变量的大小结构体类型的大小为其最后一个成员中所占内存空间的大小16、C语言规定:在一个源程序中,main函数的位置____C____。
必须在最开始必须在系统调用的库函数的后面可以任意必须在最后17、表达式18/4*sqrt(4.0)/8值的数据类型是 ___C____。
intfloatdouble不确定18、在c语言中,char型数据在内存中的存储形式是 ___D___。
补码反码原码ASCII码19、阅读以下程序,当输入的数据形式为:25,13,10<CR>时,正确的输出结果为___D___。
main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); }x+y+z=48x+y+z=35x+z=35不能确定20、有如下程序 void main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0;printf(“%f\n”,y); } 该程序的输出结果是( C )。
0.0000000.2500000.5000001.00000021、判断char型变量s是否为小写字母的正确表达式是__C____。
'a'<=s<='z'(s>='a')&(s<='z')(s>='a')&&(s<='z')('a'<=s)and('z'>=s)22、执行以下语句后,y 的值为___A___。
int x,y,z; x=y=z=0; ++x || ++y && ++z;12不确定值23、有如下程序段:int number=0; while(number++<=3) printf(“%d\n”,number++); 则正确的执行结果是___C___。
2 3 40 1 21 32 424、有如下程序 void main() { int n=9; while(n>6) { n--;printf(“%d”,n); } } 该程序段的输出结果是__B___。
9878768765987625、要使以下程序段输出10个整数,请在空格中填入一个整数。
for(i=0;i<=___B___;printf("%d\n",i+=2));1518201026、设函数fun的定义形式为:fun(char ch,float x){…} 则以下对函数fun的调用语句中正确的是___B___。
fun(“abc”,3)t=fun(‘D’,5)fun(‘ab’,3)fun(‘78’,1)27、函数求sum(int n)的功能是计算自然数1到n的和,即1+2+…+n。
Main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 请从备选答案中选择一答案,补全程序。
s=s+n;return s;s=s+i;return s;return s;return s+=I;28、设函数fun的定义形式为 int fun(int a[],int n) { int s=0,i=0;for(i=0;i<n;i++)s+=a[i]; return s; } main() { int a[10]={1,2,3,4,5};printf("sum=%d", fun(&a[2],2)); } 则程序的运行结果为___C___。
357929、若有说明:int a[10];则对数组元素的正确引用是___D____。
a[10]a[3,5]a(5)a[10-10]30、以下不正确的定义语句是___B___。
double x[5]={2.0,4,0,6,0,8,0,10.0};int y[5]={0,1,3,5,7,9};char c1[]={'1','2','3','4','5'};char c2[]={'\x10','\xa','\x8'};31、下面程序的运行结果是___B____。
#include "stdio.h" main() { char str[]="SWLIA",c; int k; for(k=0;(c=str[k])!='\0';k++) { switch(c) { case 'I':++k;break; cSWASW*SW*ASW32、以下能正确进行字符串赋值操作的是___D___。
char s[5]={"12345"};char s[5]={'1','2','3','4','5',‘6’};char *s;*s="12345";char *s="12345";33、以下程序段的运行结果是___C___。
Char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }PROgramPROGRAMPROproGRAM34、若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是__C____。
*pc[0]代表的是字符串"aaa"的首地址*pc[0]代表的是字符'a'的首地址pc[0]代表的是字符串"aaa"的首地址pc[0]代表的是字符'a'的首地址35、下列程序的运行结果是___B___。
#include <stdio.h> #include <string.h> void f (char *s, int n) { char a,*q1,*q2; q1=s;q2=s+n-1; while(q1<q2) { a=*q1++; *q1=*q2--; *q2=a;} } main() { char b[]="ABCDEFG"; f(b, sGAGGAGAAGAAGAGGFEDCBAAGADAGA36、定义如下的结构体描述同学信息 struct Student { unsigned long id; char name[30]; char class[30]; }s; 假设此同学的序号为1002,姓名为黎明,班级为冶金3班,则描述正确的为___C__。