2024年大学试题(计算机科学)-C语言程序设计笔试参考题库含答案_第1页
2024年大学试题(计算机科学)-C语言程序设计笔试参考题库含答案_第2页
2024年大学试题(计算机科学)-C语言程序设计笔试参考题库含答案_第3页
2024年大学试题(计算机科学)-C语言程序设计笔试参考题库含答案_第4页
2024年大学试题(计算机科学)-C语言程序设计笔试参考题库含答案_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“人人文库”水印下载源文件后可一键去除,请放心下载!(图片大小可任意调节)2024年大学试题(计算机科学)-C语言程序设计笔试参考题库含答案“人人文库”水印下载源文件后可一键去除,请放心下载!第1卷一.参考题库(共75题)1.图灵奖的获得者沃斯提出了著名的揭示面向过程的程序设计的本质公式是()。A、程序=算法+结构设计B、程序=算法+数据结构C、算法=程序+数据结构D、数据结构=算法+程序2.设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式()A、a=a-a+bB、a-a=bC、a=a-(a+b)D、a=-a+b3.读程序写出程序执行结果题 4.设a=1234,b=12,c=34执行printf(“|%3d%3d%-3d|/n”,a,b,c);的输出是()。A、12341234B、1231234C、123412-34D、23412345.在main函数中定义的变量称为全局变量。6.如果在一个函数中的复合语句中定义了一个变量,则该变量()。A、只在该复合语句中有定义B、在该函数中有定义C、在本程序范围内有定义D、为非法变量7.关于循环嵌套,正确的有()。A、for,while及do-while三种循环结构可以相互嵌套B、外层循环控制行,内层循环控制列C、for,while及do-while三种循环结构不可以相互嵌套D、循环嵌套的总执行次数,等于内循环执行次数加上外循环执行次数8.下列程序段的输出结果是() 9.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()。(设a[0][0]位于数组的第一个位置上)A、i*m+jB、j*m+iC、i*m+j-1D、i*m+j+110.判断两个整数m和n是否互质(即是否有公共的因子)(m≠1,n≠1)。方法是:用2到t(t取m和n中较小的那个数)之间的数分别去除m和n,若m和n能同时被某个数除尽,则m和n不互质;否则它们互质。例如:若输入187和85,则应输出No(表示它们不互质,它们有公因子17)。若输入89和187,则应输出Yes(表示它们互质)。11.下面程序的功能是用递归法将一个整数存放到一个字符数组中。存放时按逆序存放。如483存放成"384",请填空。 12.为读而打开文本文件aa.dat,的正确写法是()A、fopen(”aa.dat”,”rb”);B、fopen(”aa.dat”,”w”)C、fopen(”aa.dat”,”wb”);D、fopen(”aa.dat”,”r”)13.下面属于C语言标识符的是()A、1abB、@fC、?bD、_a1214.Raptor中,floor(3.1)的结果与ceiling(3.1)的结果一样都是3。15.int a=3,b=2,c=1;   if(a>b>c)a=b;   else a=c; 则a的值为().A、3B、2C、1D、016.以下选项中,能表示逻辑值“假”的是()A、1B、0.000001C、0D、100.017.下列各语句定义了数组,()是不正确的。A、inta[1][3];B、intx[2][2]={1,2,3,4};C、intx[2][]={1,2,4,6};D、intm[][3]={1,2,3,4,5,6};18.在程序设计中,经常用选择(又称分支)、循环和函数3种控制结构。19.全假为假,遇真则真指的是逻辑与的规则。20.关于循环结构语句使用过程中描述正确的是()。A、while与do..while没有区别B、do..while是先执行后判断C、while是先判断后执行D、其它都不对21.下列程序段的输出结果为().   int x=3,y=2;   printf("%d",(x-=y,x*=y+8/5));A、1B、7C、3D、522.将输入的n个字符串连接成1个字符串,然后输出该字符串。请填空。 23.C语言一共有34种运算符,10种运算类型。24.输入两个两位整数m,n,求出每位数字,并且m,n上高位成为新数字的低两位,低位成为新数字的高两位。25.下述程序段的运行结果是()。 A、1,2,0B、2,1,0C、1,2,1D、2,1,126.以下标识符中,不能作为合法的C用户定义标识符的是().A、a3_b3B、voidC、_123D、IF27.找出一个3×4矩阵中每行数据中的最小值,保存并输出。28.continue语句不可以单独用在选择结构语句中。29.输入若干(不超过100个)学生成绩,规定如果输入的数据为0则表示输入结束,输出其中不及格的成绩和不及格人数所占的百分比。30.在C语言中,允许对两个字符型数据进行加法运算。31.合法的字符常量是()。A、‘/t’B、“A”C、‘a’D、’/x32’32.写出下面程序运行的结果。 33.下列变量定义正确的是()A、int   x_1 ; y;B、int  printf=2,x_y=2;C、int  for=4;D、int  x,y=5 ;34.若已定义x和y为float类型,则表达式:x=1,y=x+3/2的值是()。A、1B、3C、2.5D、2.035.一个共用体变量中不能同时存放其所有成员36.下面列举的关键字中能实现循环结构的有()。A、forB、whileC、do...whileD、while...do37.写出下面程序运行的结果。 38./n字符代表的意思是()。A、回车换行B、跳到下一个制表位C、空格D、以上都不对39.以下不能正确定义二维数组的选项是().A、int a[2][2]={{1},{2}};B、int a[][2]={1,2,3,4};C、int a[2][2]={{1},2,3};D、int a[2][]={{1,2},{3,4}};40.有定义语句:inta=1,b=2,c=3;,则以下()对应的表达式的值不为真。A、a!=’a’B、a+b-c!=’0’-48C、c-a==’C’-’A’D、c41.C语句必须用一个分号作为结束。42.设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是()43.如果实参表列包含多个实参,则各参数间用逗号隔开44.完善程序,把字符串“student”复制到str1数组中,charstr1[20];();45.输入正整数n,求1*2*3*…*n的值。46.C程序的基本结构有()A、选择、重复和模块B、顺序、选择和循环C、顺序、选择和模块D、逻辑、物理和程序47.设有两个整型数组a和b,可以通过a=b,将数组b整体赋值给数组a。48.设有如下定义,则正确的叙述为()。 A、数组x和数组y等价B、数组x和数组y长度相同C、数组x的长度大于数组y的长度D、数组x的长度小于数组y的长度49.结构体变量所占用空间是全部成员占用空间之和。50.程序是指挥计算机进行各种信息处理任务的一组指令序列。51.以下程序的执行结果为() A、-24B、24C、-168D、16852.以下程序运行后的输出结果是() 53.for循环的三个表达式可以任意省略,while,do-while也是如此。54.写出语句b=(a=6,a*3);执行后整型变量b的值是()55.若有定义:inta[3][4];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的不正确引用为()A、*(*(a+i)+j)B、*(a+i)[j]C、*(a+i+j)D、*(a[i]+j)56.表达式(5/2)的值是()A、0B、2C、2.0D、2.557.在C语言中,不正确的unsigned char类型的常数是()A、32768B、0C、037D、0xDF58.以下程序运行后输出的结果是() A、0,0B、1,0C、3,2D、1,259.定义一个整数计算类Integer,实现短整数+,-,*,/基本算术运算。要求可以进行数据范围检查(-32768~32767,或自行设定),数据溢出时显示错误信息并中断程序运行。60.执行下面程序段后,c3中的值是() intc1=1,c2=2,c3; c3=c1/c2;A、0B、1/2C、0.5D、161.循环嵌套只能是for语句嵌套for语句。62.下面程序在a数组中查找与x值相同的元素所在位置,数据从a[1]元素开始存放,请填空。 63.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&chA、0B、语法错误C、1D、“假”64.当运行下面程序时,从键盘上输入,则写出下面程序的运行结果。65.对消息循环描述错误的是()A、GetMessage函数在消息队列非空时,取得消息并返回B、若GetMessage取得的是WM_CLOSE消息则返回0,否则返回非0C、GetMessage函数在消息队列为空时,将一直空闲D、DispatchMessage将当前消息发送到对应的窗口过程中去66.C语言程序中,语句以分号结尾.67.有以下程序,执行后输出结果是() A、0B、5C、6D、随机值68.while循环和do-while循环没有区别,可相互代替。69.函数调用时实参表列只能包含一个参数70.有关函数描述错误的是()A、strlen()是有参函数B、strcmp()是无参函数C、函数strlen()的功能是求所占用内存空间数D、函数是具有特定功能的某种模块71.如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是()A、#include〈string.h〉B、#include〈math.h〉C、#include〈stdio.h〉D、#include〈ctype.h〉72.下面程序用“插入法”对数组a进行由小到大的排序,请填(3)空使程序完整。 经典算法提示: 简单插入排序算法的基本思想使将数组处理n-1次,第k次处理是将第k个元素插入到目前的位置。第k次的元素是这样插入的:在第k次处理时,前面的元素a[0],a[1],⋯,a[k-1]必定已排成了升序,将a[k]与a[k-1],a[k-2],⋯a[0]逐个比较(由后向前),若有a[j] 73.某学校对教师每月工资的计算规定如下:固定工资+课时补贴。教授的固定工资为5000元,每个课时补贴50元。副教授的固定工资为3000元,每个课时补贴30元。讲师的固定工资为2000元,每个课时补贴20元。定义教师抽象类,派生不同职称的教师类,编写程序求若干个教师的月工资。74.定义inta[2][3];表示数组a中的元素个数是()个.75.整数-32100可以赋值给int型和longint型变量.第2卷一.参考题库(共75题)1.下列程序段的输出结果是() 2.在Windows中,字体句柄的类型是()A、HINSTANCEB、HFONTC、HDCD、HWND3.表达式 (4 >> 2) - !-1 + 4 & 6 ^ 2 A、0B、1C、7D、124.函数xtoi的功能是将放在字符串中的十六进制数(可以出现’0’~’9’、’a’~’f)转换成十进制整数。请填空。 5.编程:编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。6.若运行时输入100↙,写出以下程序的运行结果。 7.若有说明inta[3][4];则对a数组元素的正确引用是().A、a[2][4]B、a[1,3]C、a[1+1][0]D、a(2)(1)8.读程序,写出程序执行结果 9.若有语句int*p,a=4;和p=&a;下面均代表变量值的一组选项是()A、a,p,*&aB、&*a,&a,*pC、*&p,*p,&aD、*&a,*p,a10.下列程序段的输出结果为().  float x=213.82631; printf("%3d",(int)x);A、213.82B、213.83C、213D、3.811.下列程序的执行结果是() A、1B、3C、2D、512.代码片段分析正确的是()。 A、无错误能够执行B、有错误不能执行C、输出一个D、输出#13.编写函数调用随机函数产生0到19之间的随机数,在数组中存入15个互不重复的整数。要求在主函数中输出结果。若已定义x为int类型,调用随机函数步骤如下:

#include

"stdio.h"

.

x=rand()%20

/*产生0到19的随机数*/14.请填空:函数loop(s,m,n,str)的功能是:对字符串str中字符,从下标为s的字符开始的所有间隔为m的字符进行循环左移,即:str[s]←str[s+m],str[s+m]←str[s+2m],……,str[s+(k-1)m]←str[s+km],str[s+km]←str[s](k为整数,下标s+km不越界),共作n次。 例如,调用loop(1,2,1,str)前后str中数据的变化情况如下: str中初始数据:ABCDEFGHIJK 移位后str数据:ADCFEHGJIBK 15.下面程序的输出是() A、0B、1C、3D、616.输入一个正整数,判断是不是水仙花数。所谓水仙花数是指一个3位数,其各个位上的数字立方和等于概数本身,例如153=13+53+33,所以153是一个水仙花数。17.逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符.18.若输入字符串:abcde,则以下while循环体将执行()次.   While((ch=getchar())==’e’) printf("*");19.至少执行一次循环体的循环语句是()。20.已定义了相关变量,若要输出26个大写英文字母正确的输出语句是()A、for(a=’A’;a=’A’;a--)printf("%c",a);C、for(a=’A’;a21.C程序中定义的变量,代表内存中的一个存储单元。22.下列程序段的输出结果是() 23.循环嵌套总执行次数,等于外层循环执行次数()内层循环执行次数。A、加上B、减去C、乘以D、除以24.定义:int a[2][2];则数组a在内存中的存放顺序为()A、a[0][0]、a[1][0]、a[0][1]、a[1][1]B、a[0][0]、a[0][1]、a[1][0]、a[1][1]C、a[0][0]、a[1][1]、a[0][1]、a[1][0]D、a[0][0]、a[1][1]、a[1][0]、a[0][1]25.下面程序的功能是利用插入排序法将十个字符从小到大进行排序。插入排序法的思路是:先对数组的头两个元素进行排序,然后根据前两个元素的情况把第三个元素插入,然后插入第四个…….请填空。26.数组定义为“inta[4];”,表达式()是错误的。A、*aB、a[0]C、aD、a++27.变量声明把一个具体的标识符名称和计算机内存中的一个特殊的位置联系起来,同时确定了该位置存储的信息类型。28.在C语言中,数字029是一个()。A、八进制数B、十六进制数C、十进制数D、非法数29.若有下面的说明和定义,则sizeof(structtest)的值是()A、12B、16C、14D、930.输入若干有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。请对以下三种情况运行你的程序,以便验证你的程序是否正确。 (1)插在最前 (2)插在最后 (3)插在中间31.下面程序的执行结果是() A、程序报错,没有指定函数返回值类型B、19C、40D、-1732.如果定义了int a[10],那么使用语句a[10]=10可以给数组元素a[10]初始化。33.已知i=5,写出语句i*=i+1;执行后整型变量i的值是()34.设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为()。35.下列程序的运行结果是() A、3,6B、6,3C、编译出错D、0,036.已知8个学生记录,求平均成绩,并按链表形式显示。37.for(i=0;iA、9B、10C、11D、1238.编一个程序,将按第11题中加密的字符串(从键盘输入)解密后输出。39.运算符“%”的操作数不允许为单精度和双精度浮点型,允许为字符型和整型。40.在程序的运行过程中,其值可以改变的量是变量。41.输入一个非负数,计算以这个数为半径的圆周长和面积。42.有以下程序,执行后输出结果是() A、456B、258C、369D、78943.数组char x[]="12345";和char y[]={’1’,’2’,’3’,’4’,’5’};长度相同。44.编写一个程序,将从键盘上读入的10个整数以二进制方式写入名为"bi.dat"的新文件中。45.break可以用用于下列哪些结构()A、ifB、switch...caseC、whileD、for46.格式中代表条件判断部分应该是()。 A、1B、2C、3D、其它都不对47.已知:intt=0;while(t=1){...},则以下叙述正确的是()A、循环表达式的值为0B、循环表达式的值为1C、循环表达式不合法D、以上说法都不对48.循环跳转的语句分类有()。A、break语句B、continueC、for语句D、if语句49.下面属于赋值运算符不包含()A、==B、+=C、-=D、%=50.输入一个正整数m,输出Fibonacci数列小于m的所有项。Fibonacci数列:0,1,1,2,3,5,8,13……从它的第三项开始每一项的值都是其紧接着的前两项的和。51.阅读下列程序,输出结果是() 52. 编程序定义向量类Vector,重载运算符“+”、“-”、“*”和“=”,实现向量之间的加、减、乘、赋值运算;重载运算符“>>”、“<<”做向量的输入、输出操作。注意检测运算的合法性。53.假设有以下定义:int a[5]={1,2,3,4,5},i=3,*p=a , *q=a; 则不能正确执行的语句是()A、i=*p +*q;B、a=i;C、*p = *(a+i);D、 i = *p**(q+2);54.赋值运算符“=”和等于运算符“==”无差别55.若ch为字符型变量,则不能使ch表示字符’B’的语句是()A、ch=BB、ch=66C、ch=’/102’D、ch=’/x42’56.下列语句定义pd为指向int类型变量d的指针,()是正确的。A、intd,*pd=&d;B、int*pd=&d,d;C、floatd,*pd=&d;D、float*pd=&d,d;57.以下能对二维数组a进行正确初始化的语句是()。A、inta[2][]={{1,0,1},{5,2,3}};B、inta[][3]={{1,2,3},{4,5,6}};C、inta[2][4]={{1,2,3},{4,5},{6}};D、inta[][3]={{1,0,1},{},{1,1}};58.大写字母’A’的ASCII码值比小写字母’b’的ASCII码值大。59.结构化程序设计遵循()原则。A、单入口、多出口B、多入口、单出口C、单入口、单出口D、其它都不对60.编写程序,求E=1+1/1!+1/2!+……+1/n!,要求最后一项的值小于10-4。61.下面程序执行后的结果是() A、10B、5C、3D、762.利用函数将数组a中n个整数按相反顺序存放。63.在C语言程序中,在函数内部定义的变量称为()A、全局变量B、外部变量C、局部变量D、内部变量64.若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真".65.循环条件控制明确时一般选用条件控制的循环。66.运算符重载不能改变运算符的运算优先级、结合方向67.设有定义:intk=0;以下选项的四个表达式值相同的是()A、a=++kB、a=k++C、a=k+=1D、a=k+168.编写函数,利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。69.C语言程序中关于switch结构中default使用说法正确的是()。A、switch结构中的default是注释语句B、default与case语句的顺序是任意的C、default是在所有case都不执行的情况下才能被执行到D、default在switch结构中可以省略70.若x为int型变量,则执行x=7;x+=x-=x+x;后的x值为()71.若有以下定义,inta[]={1,2,3,4,5},*p=a,i;且0A、&(a+i)B、a++C、&pD、&p[i]72.已知:chara=’a’,b=’b’,c=’c’,i;则表达式i=a+b+c的值为()。73.下列表达式中符合C语言语法的赋值表达式是()。A、a=7+b+c=a+7B、a=7+b++=a+7C、a=(7+b,b++,a+7)D、a=7+b,c=a+774.设有如下定义成的链表,structst{intn;structst*next;}a[3]={5,&a[1],7,&a[2],9,NULL},*p=&a;则值为6的表达式是()。A、p++->nB、p->n++C、(*p).n++D、++p->n75.C程序中有调用关系的所有函数必须放在同一个源程序文件中.第1卷参考答案一.参考题库1.参考答案:B2.参考答案:C3.参考答案:844.参考答案:A5.参考答案:错误6.参考答案:A7.参考答案:A,B8.参考答案:59.参考答案:A10.参考答案: 11.参考答案:(1)i(2)n%10+’0’12.参考答案:D13.参考答案:D14.参考答案:错误15.参考答案:C16.参考答案:C17.参考答案:C18.参考答案:错误19.参考答案:错误20.参考答案:B,C21.参考答案:C22.参考答案:(4)strcpy(string,str[0]);(5)strcat(string,str[k]);23.参考答案:正确24.参考答案:25.参考答案:C26.参考答案:B27.参考答案:28.参考答案:正确29.参考答案:30.参考答案:正确31.参考答案:A,C,D32.参考答案:i=6,k=433.参考答案:D34.参考答案:D35.参考答案:正确36.参考答案:A,B,C37.参考答案:31-138.参考答案:A39.参考答案:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论