华东理工大学c语言
东华理工大一c语言考试题及答案
东华理工大一c语言考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. classB. functionC. defD. void答案:D2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable_2D. variable$2答案:C3. 在C语言中,以下哪个运算符用于取反?A. !B. ~C. %D. &&答案:A4. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 1.23e2C. 0.1ED. 0.1E+答案:B5. 在C语言中,以下哪个选项不是控制语句?A. ifB. whileC. forD. switch答案:D6. C语言中,以下哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 在C语言中,以下哪个选项不是指针类型?A. int *B. intC. char *D. float答案:D8. 下列哪个选项是C语言中的合法数组定义?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:B9. 在C语言中,以下哪个选项用于声明一个函数?A. void function_name()B. function_name()C. int function_name()D. void function_name(int x)答案:D10. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字定义一个全局变量。
答案:extern2. C语言中,________运算符用于计算两个整数的和。
东华大学c语言课程设计
东华大学c语言课程设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立编程和解决问题的能力。
具体目标如下:1.知识目标:学生能够理解并掌握C语言的基本语法、关键字、数据类型、运算符、控制结构、函数等基本概念。
2.技能目标:学生能够熟练使用C语言进行程序设计,掌握常用的调试技巧,能够独立解决编程过程中遇到的问题。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生自主学习、合作交流的能力,培养学生的创新意识和解决问题的能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程思想。
具体安排如下:1.C语言基本语法:介绍C语言的基本数据类型、运算符、控制结构、函数等。
2.数据结构:讲解数组、链表、栈、队列等基本数据结构及其应用。
3.算法:介绍常用的排序算法、查找算法、递归算法等。
4.编程思想:培养学生面向对象编程的思想,讲解面向对象编程的基本概念和方法。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:教师通过讲解、演示、举例等方式,向学生传授C语言的基本知识和编程技巧。
2.讨论法:学生进行小组讨论,引导学生主动思考、提问,培养学生的合作交流能力。
3.案例分析法:分析典型的编程案例,让学生学会分析问题、解决问题的方法。
4.实验法:安排实验课程,让学生动手实践,巩固所学知识,提高编程能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选择一本适合学生水平的C语言教材,作为学生学习的主要参考资料。
2.参考书:提供一些有关C语言编程的参考书籍,供学生拓展阅读。
3.多媒体资料:制作课件、教学视频等多媒体资料,丰富教学手段,提高学生的学习兴趣。
4.实验设备:准备计算机、网络等实验设备,为学生提供实践编程的环境。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面客观地评价学生的学习成果。
华东理工大学-计算机程序设计基础-样卷(仅供题型参考)
《***》样卷一、填充题(20分,每小题2分)1. C语言中的注释分为两种类型,分别是行注释和注释。
2. 若x=2,则表达式(x++)/3的值是。
3. 若int a=2; a+=3; 执行后,变量a的值是。
4. 若int a[]={12,45,34,46,23}; 则a[2]= 。
5. 假设int x=5; 表达式x>0?x+3:x-2的运行结果是。
6. continue语句只用于循环语句中,它的作用是。
…二、选择题(20分,每题2分)1.设a=3,b=4,c=5。
则逻辑表达式“!(a+b)+c-1&&b+c/2”的值是()。
A. TrueB. falseC. 1D. 02.如果x=5, y=8,则printf(“%d,%d”,++x, y--);的输出结果是()。
A. 5,8B. 6,7C. 5,7D. 6,83.C语言的一个源程序中定义的外部变量的作用域为()。
A. 本文件的全部范围B. 从定义点开始至本文件结束C. 本函数的全部范围D. 本程序的全部范围4.结构化程序设计常用的方法是()。
A. 自顶向下B. 逐步细化C. 模块化设计D. 以上三个都对5.以下四组中都能正确作为C语言程序标识符的是()组。
A. printfB. sort_1C. powD. book->namerow string_to_float string book.priceif PI 1_abc A#B…三.程序阅读分析题(20分,每小题5分)1. 以下程序的输出结果是。
#include“stdio.h”void main( ){int a=1,b=0;switch(a){case 1: switch(b){case 0: printf(“***”);case 1: printf(“@@@”); break;}case 2: printf(“$$$”); break;default: printf(“###”);}}2. 下面程序的功能是。
2022年东华理工大学公共课《C语言》科目期末试卷B(有答案)
2022年东华理工大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);2、在C语言源程序中,一个变量代表【】。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______5、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。
6、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。
7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、在C语言中,二维数组元素在内存中的存放顺序是_______。
9、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
Double x=2.5,y=6.4,z;SWAP(_______);10、请填空:建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
二、选择题11、下列4组选项中,不是C语言关键字的选项是。
()A.defineB.getcC.includeD.whileIF char scanf goType printf case pow12、已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )。
2022年华东理工大学公共课《C语言》科目期末试卷A(有答案)
2022年华东理工大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、C语言源程序的基本单位是________3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言的赋值表达式中,赋值号左边必须是_______5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
6、已有一维数组a,n为元素的个数,且各元素均有值;函数void process (float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。
请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。
(1)float arr_add(float*arr,int n)计算数组元素值之和。
(2)float odd_add(float*p,int n)计算下标为奇数的元素之和。
(3)float arr_ave(float*p,int n)计算各元素的平均值。
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、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
华东理工大学c语言
华东理工大学c语言华东理工大学2009 - 2010 学年第 1 学期 c程序设计试卷( )1. 有下列程序#includemain(){union{int k;char i[2];}*s,a;s=&as->i[0]=0x39;s->i[1]=0x38;printf("%x\n",s->k);}输出结果是A)3839 B)3938 C)380039 D)3900382. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A)100<空格>765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>3. 设已有定义: char *st="how are you"; 下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11]; strcpy(a, st);D) char a[], *p; strcpy(p=&a[1],st+2);4. 设j为int型变量,则下面for循环语句的执行结果是for(j=10;j>3;j--){if(j%3)j--;--j;--j;printf("%d",j);}A)6 3 B)7 4 C)6 2 D)7 35. 以下程序的输出结果是main(){int i,k,a[10],p[3]:K=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k=p[i]*2;printf("%d\n",k);}A)20 B)21 C)22 D)236. 若有以下说明:int w[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是A) *w[1]+1 B) p++,*(p+1)C) w[2][2] D) p[1][1]7. 若k是int型变量,且有下面的程序片段:k=-3if(k<=0) printf("####")1else printf("&&&&");上面程序片段的输出结果是A) #### B) &&&& C) ####&&&& D) 有语法错误,无输出结果8. 以下程序运行后,输出结果是main( ){int y=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y\2;} while(y>1=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n")}A)10000 B)10010 C)00110 D)101009. 以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量10. 请读程序:#includefunc( int a, int b){ int c;c=a+b;return c;}main(){ int x=6, y=7, z=8, r;r=func( x--,y==,x+y),z--);printf("%d\n",r);}上面程序的输出结果是A) 11 B) 20 C) 21 D) 3111. 以下程序的输出结果是# includemain(){ int a=2,c=5;printf("a=%%d,b=%%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d12. 设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为< p="">A) 4 B) 3C) 2 D) 113. 执行以下程序后,y的值是main ( ){ int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x++) y + = * (p + x);printf("%d\n",y); }A) 17 B) 18 C) 19 D) 2014. 下面四个选项中,全是不合法的用户标识符的是:A、A P_0 doB、float la0 _AC、b-a goto intD、_123 temp INT15. 以下程序的输出结果是main( ){ int n=4;while(n--)printf("%d ",--n);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 016. 设有如下的变量定义:int i=8,k,a,b;2unsinged long w=5double x=1,42,y=5.2则以下符合C语言语法的表达式是A)a+=a-=(b=4)*(a=3) B)x%(-3); C)a=a*3=2 D)y=float(i)17. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + >5) printf("%d",x);else printf("%d\n",x - -); }A) 7和5 B) 6和3 C) 7和4 D) 6和418. 若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为A)float B)int C)char D)double19. 设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是A) *((*prt+1) [2]) B) *(*(p+5))C) (*prt+1)+2 D) *(*(a+1)+2)20. 给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为A)数组X和数组Y等价B)数组x和数组Y的长度相同C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度二、填空题(每空1分,共10分。
东华大学c语言课程设计
东华大学c语言课程设计一、课程目标知识目标:1. 掌握C语言的基本语法和程序结构,包括变量声明、数据类型、运算符、控制语句等。
2. 理解函数的定义与调用,能够编写简单的自定义函数,并进行参数传递。
3. 了解数组、指针和字符串的使用,能够运用它们进行数据操作和存储。
4. 掌握基本的文件操作,如文件的打开、读写和关闭。
技能目标:1. 能够使用C语言编写简单的程序,解决问题并进行调试。
2. 能够运用逻辑思维和算法设计,解决基本的算法问题。
3. 能够分析并优化代码,提高程序的执行效率。
4. 能够通过编写代码,实现数据的存储和提取,进行文件操作。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习编程的热情。
2. 培养学生的逻辑思维和问题解决能力,增强自信心。
3. 培养学生的团队协作意识,学会与他人共同解决问题。
4. 培养学生注重程序规范和代码质量,养成良好的编程习惯。
课程性质:本课程为东华大学计算机科学与技术专业的学科基础课,旨在让学生掌握C语言的基本知识和编程技能。
学生特点:学生具备一定的计算机基础,对编程有一定了解,但可能缺乏深入理解和实践经验。
教学要求:结合学生特点,通过理论讲解、案例分析和实践操作,使学生在掌握C语言知识的同时,提高编程能力和问题解决能力。
教学过程中注重培养学生的实际操作能力和创新思维,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. C语言概述:介绍C语言的发展历程、特点和应用领域,使学生了解C语言的重要性和学习价值。
相关教材章节:第一章 C语言概述2. 数据类型、运算符与表达式:讲解基本数据类型、变量声明与赋值,各类运算符的使用及表达式求值。
相关教材章节:第二章 数据类型与表达式3. 控制语句:介绍顺序结构、选择结构(if-else)、循环结构(for、while、do-while),以及跳转语句(break、continue、goto)。
相关教材章节:第三章 控制语句4. 函数:讲解函数的定义、调用、参数传递、返回值,以及递归函数。
2022年上海工程技术大学公共课《C语言》科目期末试卷B(有答案)
2022年上海工程技术大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、C语言源程序的基本单位是________4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);9、字符串"ab\n\\012\\\"”的长度是_______。
10、若想输出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 }二、选择题11、下面4个选项中,是C语言关键字的选项是( )。
C语言程序设计模拟卷
华东理工大学继续教育学院成人教育《C语言程序设计》课程期末模拟试卷一、选择题1. C语言并不是非常严格的算法语言,以下关于C语言不严格性的叙述中,不正确的是( ):A大写字母和小写字母的意义相同B有些不同类型的变量可以在一个表达式中运算C表达式左边变量和右边的值可以是不同类型的D同一个运算符号在不同的场合可以有不同的含义2. 在C语言程序中,以下说法正确的是()。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套3.若有以下定义和语句,则输出结果是( )main(){ float x;int i;x=5.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}A 5.6 4B 5.6 5C 5 5D 6 64.若有以下定义和语句,则输出结果是( )char s[12]="verygood";printf("%d",strlen(s));A 12B 8C 7D 65. 下列运算符优先级最高的是( )。
A >=B &&C !D ++6. 设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A 552B 144C 264D -2647. 以下关于C语言字符数组的说法中,不正确的是( ):A在C语言中可用字符数组存放字符串B可以用关系运算符对字符数组进行比较C字符数组中的字符串可以整体输入、输出D字符数组中的字符串可以按单个字符输入、输出8. 在C语言中,回车符是( )。
A '\n’B '\t’C '\r’D '\b’9. 设a=2, b=3, 执行表达式c = b* = a-1; 变量c 的值是( )A 5B 3C 2D 410.若在C语言程序中使用以下的二维数组定义语句并赋以部分初值,其中不正确的定义只有( ):A int a[2][3]={{4},{5,6}}B int a[2][3]={{4},{5},{6}}C int a[2][3]={4,5,6}D int a[2][3]={{4},5,6}11. 设有如下程序段,下面描述中正确的是()。
C语言第三、四章作业题答案
东华理工大学:C语言第三章作业题C程序设计第三章闭/开卷课程类别:考试/考查第三章顺序结构程序设计一、选择题1。
C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。
如果格式说明的个数小于输出项的个数,多余的输出项将 A ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
A)不予输出B)输出空格C)照样输出D)输出不定值或02.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配.如果类型不匹配,系统 B 。
A)不予接收B)并不给出出错信息,但不可能得出正确信息数据C)能接受正确输入D)给出出错信息,不予接收输入3。
下列说法正确的是 D 。
A)输入项可以是一个实型常量,如scanf(”%f",4。
8);B)只有格式控制,没有输入项也能进行正确输入,如scanf(”a=%d,b=%d”);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%5。
3f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f”,&f);4。
根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是B 。
main(){int a;float x;printf("input a,x:”);输入语句输出语句}输入形式input a,x:3 2.1输出形式a+x=5。
10A)scanf("%d,%f",&a,&x);printf("\na+x=%4。
2f",a+x);B)scanf(”%d %f",&a。
&x);printf("\na+x=%4。
2f”,a+x);C)scanf(”%d %f”,&a,&x);printf(”\na+x=%6。
1f",a+x);D)scanf("%d %3.1f”,&a,&x);printf(”\na+x=%4。
2021华东理工大学计算机科学与技术考研真题经验参考书
转眼一瞬间,时间飞逝流过,回想曾经考研奋斗的日子,似乎那时的时光是最难忘,最充实的。
当时的我一路都纠结忐忑,到处的搜集有关资料,去相关的QQ群、微信群里看有没有有帮助的内容,到处打听考什么书,是哪些内容,但是最后得到的答案总是零零散散,直到后来,有了明确的复习体系,才成功上岸,所以我希望把自己的考研复习体系分享给大家,让每一个考研人都能成功上岸!我从大三就开始准备考研,听各种免费讲座,领取哪些免费资料,虽然用处不大;之后就开始了差不多一年的自习生活,每天起早贪黑,泡在图书管里,我早上6点起床,收拾完毕,吃了早饭七点钟到达图书馆学习,中午12:00回宿舍吃饭,然后午休到2:00去图书馆,在图书馆自习到下午5:30,约同学一起出去吃晚饭,吃过饭再散散步就开始回图书馆学习到晚上9:00。
然后收拾东西回宿舍。
在这段日子里,自己似乎变得更加淡定、坦然,让自己的生活更加充实,似乎明白每天在为什么而奋斗。
下面主要谈一下我的复习经验吧!政治:政治的复习本人觉得最好是报个辅导班,不用自己费心,把别人整理好的知识点背会就可以了。
值得一提的是政治选择题貌似都可以在大纲解析中找到,所以还是希望有时间的同学多翻几遍教材。
政治推荐李凡老师的课程,《政治新时器》挺不错的。
英语:全程~全程:记单词!记单词!记单词!《一本单词》、过真题木糖英语的《英语真题手译版》。
因为涉及到考英语六级,所以复习的比较早,每天都要背一张自己的英语听课笔记和一个单元的单词。
我是在蛋核英语上找的视频,然后同时买的英语考研资料,跟着老师反复进行分析句子和单词,深信得阅读者得天下,在考六级的前三周,我每天听两至三篇听力,就这样复习,最后六级顺利通过,没有了后顾之忧,不用再担心因为六级不过而复试被淘汰。
英语没有好的办法,就是多背多做题。
英语背单词背句子听课我一直坚持到十月份,效果显著,阅读的错误率也有所降低。
很感谢曾经的自己从未放弃,我相信,想要过的与别人不同,就必须付出努力。
C语言(本)-华理
C、a>=10&&a〈=0
D、a〉=10‖a<=0
标准答案:D
学员答案:D
本题得分:5
题号:2题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
内容:
对于基类型相同的两个指针变量之间,不能进行的运算是()。
A、〈
B、=
C、+
D、–
标准答案:C
学员答案:C
本题得分:5
A、def def
B、abc def
C、abc d
D、d d
标准答案:A
学员答案:A
本题得分:5
题号:14题型:单选题(请在以下几个选项中选择唯一确答案)本题分数:5
内容:
下列程序的运行结果是()。#include 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\n", a, b);}
学员答案:A
本题得分:5
题号:4题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
内容:
在C语言的if语句中,用作判断的表达式是()。
A、关系表达式
B、逻辑表达式
C、算术表达式
D、任意表达式
标准答案:D
学员答案:D
本题得分:5
题号:5题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
内容:
设int a,b,c,x,y;则下列表达式中,()是算术表达式.
A、a=b+c++
B、a&&b〈3
2022年华东理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年华东理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、n个结点的完全有向图含有边的数目()。
A.n*nB.n(n+1)C.n/2D.n*(n-1)2、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.NB.2N-1C.2ND.N-13、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。
A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改5、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。
A.543612B.453126C.346521D.2341566、下列叙述中,不符合m阶B树定义要求的是()。
A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接7、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。
A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,198、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)9、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。
A.其中任意一个结点均无左孩子B.其中任意一个结点均无右孩子C.其中只有一个叶结点D.其中度为2的结点最多为一个10、下列二叉排序树中查找效率最高的是()。
东华理工大学长江学院软件学院2008C语言
东华理工大学长江学院软件学院2008—2009第一学期期末考试试题课程: C语言程序设计试卷类型:闭卷考试时间:120分钟一、选择题(每题1分,共35分)1.下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof2. C语言中运算对象必须是整型的运算符是A)%= B)/ C)= D)<=3. 若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1 B)++i; C)a=a++=5; D)a=int(i);4. 已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0 B)循环控制表达式的值为1C)循环控制表达式不合法 D)以上说法都不对5. 若变量已正确说明为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.033.0<回车> D)10 22<回车>33<回车>6. 若有说明 int a[3][4];则a数组元素的非法引用是A)a[0][2*1] B)a[1][3] C)a[4-2][0 ] D)a[0][4]7.设有以下说明语句struct stu{int a;float b;} stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字 B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名 D)a和b都是结构体成员名8. 以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分9. 在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式10. 在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递 B)单向值传递C)由实参传形参,再由形参传实参 D)传递方式由用户指定11. 下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件12.字符型数据在机器中是用ASCII码表示的,字符“5”和“7”在机器中表示为A)10100011和 01110111 B)01000101和01100011C)00110101和00110111 D)01100101和0110011113. 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf ("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是A)***a=25,b=13,c=19 B)***a=26,b=14,c=19C)### a=25,b=13,c=19 D)### a=26,b=14,c=1914. 以下程序段的描述,正确的是x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误15. 以下正确的说法是A)定义函数时,形参的类型说明可以放在函数体内B)return后边的值不能为表达式C)如果函数值的类型与返回值类型不一致,以函数值类型为准D)如果形参与实参类型不一致,以实参类型为准16. 以下程序有错,错误原因是main(){ int *p,i;char *q,ch;p=&i;q=&ch;*p=40;*p=*q;......}A)p和q的类型不一致,不能执行*p=*q;语句B)*p中存放的是地址值,因此不能执行*p=40;语句C)q没有指向具体的存储单元,所以*q没有实际意义D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果17. 有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东理工大学2009 - 2010 学年第 1 学期 c程序设计试卷( )1. 有下列程序#include <stdio.h>main(){union{int k;char i[2];}*s,a;s=&a;s->i[0]=0x39;s->i[1]=0x38;printf("%x\n",s->k);}输出结果是A)3839 B)3938 C)380039 D)3900382. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A)100<空格>765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>3. 设已有定义: char *st="how are you"; 下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11]; strcpy(a, st);D) char a[], *p; strcpy(p=&a[1],st+2);4. 设j为int型变量,则下面for循环语句的执行结果是for(j=10;j>3;j--){if(j%3)j--;--j;--j;printf("%d",j);}A)6 3 B)7 4 C)6 2 D)7 35. 以下程序的输出结果是main(){int i,k,a[10],p[3]:K=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k=p[i]*2;printf("%d\n",k);}A)20 B)21 C)22 D)236. 若有以下说明:int w[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是A) *w[1]+1 B) p++,*(p+1)C) w[2][2] D) p[1][1]7. 若k是int型变量,且有下面的程序片段:k=-3if(k<=0) printf("####")1else printf("&&&&");上面程序片段的输出结果是A) #### B) &&&& C) ####&&&& D) 有语法错误,无输出结果8. 以下程序运行后,输出结果是main( ){int y=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y\2;} while(y>1=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n")}A)10000 B)10010 C)00110 D)101009. 以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量10. 请读程序:#include<stdio.h>func( int a, int b){ int c;c=a+b;return c;}main(){ int x=6, y=7, z=8, r;r=func( x--,y==,x+y),z--);printf("%d\n",r);}上面程序的输出结果是A) 11 B) 20 C) 21 D) 3111. 以下程序的输出结果是# include <stdio.h>main(){ int a=2,c=5;printf("a=%%d,b=%%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d12. 设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为A) 4 B) 3C) 2 D) 113. 执行以下程序后,y的值是main ( ){ int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x++) y + = * (p + x);printf("%d\n",y); }A) 17 B) 18 C) 19 D) 2014. 下面四个选项中,全是不合法的用户标识符的是:A、A P_0 doB、float la0 _AC、b-a goto intD、_123 temp INT15. 以下程序的输出结果是main( ){ int n=4;while(n--)printf("%d ",--n);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 016. 设有如下的变量定义:int i=8,k,a,b;2unsinged long w=5double x=1,42,y=5.2则以下符合C语言语法的表达式是A)a+=a-=(b=4)*(a=3) B)x%(-3); C)a=a*3=2 D)y=float(i)17. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + >5) printf("%d",x);else printf("%d\n",x - -); }A) 7和5 B) 6和3 C) 7和4 D) 6和418. 若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为A)float B)int C)char D)double19. 设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是A) *((*prt+1) [2]) B) *(*(p+5))C) (*prt+1)+2 D) *(*(a+1)+2)20. 给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为A)数组X和数组Y等价B)数组x和数组Y的长度相同C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度二、填空题(每空1分,共10分。
)1. 假定p所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++;"语句后,p所指对象的值为___________。
2. 如果变量定义有:int a=9,c=8;则表达式(――a!=c++)?――a:++c的值为________。
3. 假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为__________。
4. 已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则对应scanf("%d,%d,%d",&i,&j,&f)调用语句的数据输入形式是__________5. 若x=5,y=10,则x>y和x<=y的逻辑值分别为________和_______。
6. C语言提供三种逻辑运算符,按优先级高低它们分别是_________,________,_________。
7. 空字符串的长度是__________。
三、判断题(本题共10道小题,共10分。
)1. 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数()2. 函数中的局部变量都是动态存储()3. 自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式()4. 函数的定义可以嵌套,但函数的调用不可以嵌套()5. do-while循环中,根据情况可以省略while()6. 形参时虚拟的,不占用存储单元( )7. 用户若需要调用标准库函数,调用前必须重新定义()8. 全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的要求()9. 在实际编程中,do-while循环完全可以用for循环替换()10. if语句,switch语句可以嵌套,而且嵌套的层数没有限制()四、程序填空(本题共5道小题,每题4分,共20分。
)1. 编写程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
#include <stdio.h>main(){int n,s,sum=0;scanf("%d",&n);for(int i=1;i<=n;i++){____________;for(int j=1;j<=i;j++)3_____________;sum+=s;}printf("%d",sum);}2. 若输入3个整数3,2,1,则下面程序的输出结果是____________。
#include<stdio.h>void sub( n,uu)int n, uu[ ];{ int t;t=uu[n--]; t+=3*uu[n];n=n++;if(t>=10){ uu[n++]=t/10; uu[n]=t%10;}else uu[n]=t;}main( ){ int i, n, aa[10]={0,0,0,0,0,0}scanf( "%d%d%d",&n,&aa[0],&aa[1]);for(i=1; i<n; i++) sub(i,aa);for(i=0; i<=n; i++) printf("%d",aa[i]);printf("\n");}3. 以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data 域不放数据,表空的条件是ph->next = = NULL).#include<stdio.h>struct list { int data;struct list *next;};_________creatlist(){ struct list *p,*q,*ph; int a;ph=(struct list *) malloc(sizeof(struct list));p=q=ph; printf("Input an integer number,enter -1 to end:\n");scanf("%d",&a):while(a!=-1){ p=(struct list *)malloc(sizeof(struct list));p->data=a;q->next=p;_________=p;scanf("%d",&a); }p->next='\0';return(ph);}main(){ struct list *head; head=creatlist();}4. 以下函数的功能是:求x的y次方,请填空。