2022年山东师范大学公共课《C语言》科目期末试卷A(有答案)
- 格式:docx
- 大小:97.35 KB
- 文档页数:16
2022年南昌师范学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:unsigned a=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______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、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);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、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
2022年潍坊医学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
2、在C语言源程序中,一个变量代表【】。
3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、下面程序可求出图中方括号内的元素之积,请填空。
# include<stdio.h>int main(){ int x[3][3]={7,2,1,3,4,8,9,2,6};int s,*p;p=_______;s=*p*_______;printf("product=%d",s);return(0);}7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
2022年青海师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、C语言源程序的基本单位是________4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、在C语言中的实型变量分为两种类型,它们是_______和_______。
6、下面程序段的运行结果是_______。
char s[80],*sp="HELLO!";sp=strcpy(s,sp);s[0]='h';puts(sp);7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、在C语言中,二维数组元素在内存中的存放顺序是_______。
二、选择题11、在C语言中,char型数据在内存中的存储形式是()。
A.补码B.反码C.原码D.ASCII码12、下面4个选项中,是非法常量的选项是( )。
13、以下不符合C语法的赋值语句是()。
A.m=(2+1,m=1);B.m=n=0;C.m=1,n=2D.n++;14、以下程序的输出结果是()。
2022年西华师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。
2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+105、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
6、请填空:建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、假设变量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;_______;10、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。
2022年山东师范大学公共课《大学计算机基础》期末试卷A(有答案)一、单项选择题1、八进制数453转换成十进制数是()A.324B.267C.299D.2652、一个数是11011D,则它是一个()A.二进制B.八进制C.十进制D.十六进制3、二进制数110010转换成十进制数是()A48 B 50 C52 D564、将十进制数57转换为二进制数是()A.111011B.111001C.101111D.1100115、通常所说的“计算机病毒”是指()A.细菌感染B.生物病毒感染C.被损坏的程序D.特制的具有破坏性的程序6、一个字符的 SCII码占用存储空间为(A)A.1个字节B.2个字节C.7个字节D.8个字节7、第一代电子计算机采用的逻辑器件是()A.电子管B.晶体管C.二极管D.集成电路8、设置键盘属性时,在哪个选项框中可以更改键盘接受连续按键速度的设置()A.字符重复B.键盘设置C.按键设置D.光标闪烁频率9、Windows 7中的“任务栏”()A.只能改变其位置不能改变其大小B.只能改变其大小不能改变其位置C.既能改变其位置也能改变其大小D.既不能改变其位置也不能改变其大小10、在Windows 7中,若要快速显示某个文件或文件夹的位置,可用“资源管理器”中的()A.“向上”按钮B.“搜索”按钮C.“查看”按钮D.“前进”按钮11、在Windows 7中,"资源管理器”窗口已经选定多个文件,如果要取消其中几个文件的选定,应进行的操作是()A.按住"Shift”键,再单击各个要取消选定的文件B.按住“Ctrl”键,再单击各个要取消选定的文件C.直接单击各个要取消选定的文件D.用鼠标右键单击各个要取消选定的文件12、在Windows 7资源管理器中,若选中了C盘上的一个文件,并用鼠标左键将其拖搜到D盘中,其结果是()A.将该文件从C盘移动到D盘B.将该文件从C盘复制到D盘C.将该文件从C盘副除D.无任何结果13、Wind ows 72000“附件”中的“画图”程序不支持的图形格式是()A.BMPB.JPGC.GIFD.PSD14、在Word2010文档中,若要对当前页面中的某些文字进行注解,需添加()A.脚注B.尾注C.超链接D.题注15、在Word2010中,插入“艺术字”应选择“插入”功能区的()A “文本”组B “表格”组C“符号”组D“插图”组16、在Word中,选择“表格”菜单中“拆分表格”命令后,可以对表格进行()A.左右拆分B.上下拆分C.任意拆分D.上下和左右拆分17、在Word 2010文档中插入分节符,便于实现()A.修改文档B.创建文档目录C.阅读文档D.创建不同的页眉18、在Word2010“字体”对话框中不能设置()A上标B删除线C字符间距D段落间距19、对于Word表格操作,正确的说法是()A.对单元格只能上下拆分B.对单元格只能左右拆分C.一个表格可以拆分成两个表格D.表格不能设置标题行重复20、在Word 2010“视图”功能区中,不能设置的是()A.标尺B.导航窗格C.显示比例D.纸张大小21、关于Excel 2010谈入式图表的叙述,不正确的是()A.可以移动联入式图表B.可以改变做人式图表的大小C.当数据源改变时,相应的谈入式图表随之改变D.副除铁入式图表时相应的数据源将同时被割除22、在Word 2010中,若需插入目录,应选择()A.“插入”功能区B.“页面布局”功能区C.“引用”功能区D.“审阅”功能区23、在Excel 2010中,若要统计一个数据区域中数据的最大值,应使用的函数是()A.SUMB.MAXC.COUNTD.AVERAGE24、在默认方式下,Excel 2010工作簿中的第一张工作表的名称为()A.表1B.Sheet1C.Book1D.xls25、在Excel 2010中,用于显示相同间隔内数据预测趋势的图表类型是()A.柱形图B.折线图C.条形图D.饼图26、下列对象中,不属于幻灯片的“动作设置”的超级链接对象的是()A.下一张幻灯片B.一个应用程序C.其他演示文稿D.幻灯片中的某一对象27、在PowerPoint 2010幻灯片中,插入“春. JPG”图片的步骤有:①选中需插入图片的幻灯片②调整被插入的图片的大小、位置等③执行插入图片文件命令,其正确的操作次序是()A.①②③B.①③②C.②①③D.③②①28、某用户上网时,在浏览器地址栏输入网址,其中http的含义()A超文本传输协议B网际协议C文件传输协议D传输控制协议29、若要将一台计算机与局域网连接,则该计算机应配备的网络硬件是()A.网卡B.交换机C.集线器D.路由器30、在Internet中,IPv4地址由()A.8位二进制数组成B.16位二进制数组成C.32位二进制数组成D.64位二进制数组成二、填空题31、在Windows 7中,文件或文件夹的管理可以使用资源管理器和______。
学号 姓名 院(部) 专业 考试时间: 年 月 日------------------------------------------------密--------------------封----------------------线-----------------------------------------------------------------山东师范大学2010-2011学年第1学期期末考试试题(时间:120分钟 共100分)课程编号:080920201、080940201 课程名称:C 语言程序设计 试题类别: A 考试类型:闭卷适用年级:2010 适用专业:电子信息工程、电子科学与技术 题号 I II III 总分 阅卷人复核人 得分Part ⅠFor each of the following questions, fill-in one of either: A, B, C, or D on the blanks. (There are 15 questions, each of which is worth 2 mark.total 40.)得 分 评阅人1. ( )2. ( )3. ( )4. ( )5. ( )6. ( )7. ( )8. ( )9. ( ) 10. ( ) 11. ( ) 12. ( ) 13. ( ) 14. ( ) 15. ( ) 16. ( ) 17. ( ) 18. ( ) 19. ( ) 20. ( )1. If x is a float variable, the value of expression (x=10/4) is _____ 。
A) 2.5 B) 2.0 C) 3 D) 22. If variables are defined and assigned correctly , the expression ______ is wrong.A) a&b B) a^b C) &&x D) a, b3. According to the declaration: int a[10], *p=a; the expression ______ is wrong.A) a[9] B) p[5] C) *p++ D) a++ 4. ______ is wrong.A) char str[10]; str="string"; B) char str[ ]="string"; C) char *p="string"; D) char *p; p="string"; 5. The precedence of operator _____ is the highest one.A) += B) [] C) & D) ++ 6. The valid C expression of mathematical expre ssion 1≤x≤5 is .A) 1<=x<=5 B) (x> =1)&(x<=5 ) C) (x>=1 )&&(x<=5) D) (1 < =x)||(5> =x) 7. Which one of following marks can be defined as identifier?A) int B)float C) char D)string8.Having declaration statement: int a=1, b=2, c=3; the value of expression(a>b>c,a<b<c )isA) 0 B)1 C) 2 D) 39. Given the following declarations of arrays, which one is valid.A) char str[30]= {12,23,34}; B) int a[ ] ; C) int x[4] [ ]; D) int x[ ][5]; 10. data type of variable f and i :float f=3.14; int i;which expression of following is legal .A) i=(int)f%5 B) i=int(f)%5 C) i=f%5 D) i=(int f)%511. Which one of following marks can be defined as identifier ?A) main B) _0 C)void D) sizeof12. Having initialization: int a=6,b=5,c=8,d=7,m=2,n=2; the value of m and n after executed the expression (m=c<d)&&( n=a<b) isA) 0 0 B) 0 2 C) 0 1 D) 2 213. Having declaration statement:char s[]="\123\\100a\t"; int a=sizeof(s);The value of a isA) 7 B)8 C) 13 D) 11 14. while((ch=getchar()) ==’e’) printf(“*”);Having inputted abcde<Enter>, The number of * outputted is A) 0 B)1 C)2 D) 3 15. The following is a segment of a program: int a[10]={0,1,2,3,4,5,6,7,8,9},*p=&a[3],b; b=p [5]; The value of b is A) 6 B) 7 C) 8 D) 916. According to the declaration: int p[5], *a[5]; the expression ______ is correct.A) p=a B) p[0]=a C) *(a+1)=p D) a[0]=217. Fill in the blank and complete the following function used to calculate the sum of twointegers, and return the result by formal parameter. void func(int x,int y , ) { *z=x+y; }A) int *z B) int z C) &z D)int &z18. What will be output after execution of following programming?main(){ char s[]="136", *p= s; printf("%c",*p++); printf("%c",*++p); }A) 13 B) 23 C) 16 D) 26 19. What will be output after execution of following programming?main(){int i,j; char a[ ]=”Excellent!”; a[5]=0;i=sizeof(a); j=strlen(a); printf(“%d,%d \b”,i,j); }A) 5,11 B) 6,11 C) 10,6 D) 11,5 20. What will be output after execution of following programming?main(){ int x=5,a=0,b=0;switch(x){ case 0:a++; break; case 1:b++; break; case 2:a++; break; } printf(“a=%d,b=%d\n ”,a,b); }A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=0,b=0 Part ⅡConsider the following programs and write what will be output after execution (There are 10 questions, each of which is worth 5 marks. total 50.)得分评阅人1.main(){int a, b;for(a=1, b=1; a<=100; a++){if(b>=10)break ;if (b%3==1){ b+=3; continue; } }printf(“%d\n”,a);}2.#include "stdio.h"#include "conio.h"main(){ int digit, sum=0, num=1234;while(num!=0){digit=num%10;num=num/10;sum+=digit;}printf("%d ", sum);}3.main(){int a=15,b=21,m=0;switch(a%3){ case 0:m++;break;case 1:m++; }switch(b%2) {default:m++;case 0:m++;break;}printf("%d\n",m);} 4.#define MAX(x,y) (x)>(y)?(x):(y)main(){ int a=5,b=2, c=3,d=3,t;t=MAX(a+b,c+d) *10;printf(“%d\n”,t);}5.#include <stdio.h>main(){ int k=0,*ps, a[11]={ 1,2,3,4,5,6,7,8,9,10};for(ps=a;*ps!=0; ps+=2)k+=*ps;printf(“%d\n”,k);}6.#include <stdio.h>#include<string.h>main(){ char *s=“Henan”, *ss=”Hebei”;strcmp(ss, s)<0? printf(“%s”,ss): printf(“%s”,s); }7.#include<string.h>void move(char *str, int n){ char temp ;int i;temp=str[0];for(i= 1; i<n; i++)str[i-1]=str[i];str[n-1]=temp;}main(){ char s[]=”abcdef”;int i, z;int n=3;z=strlen(s);for(i=1; i<=n; i++)move(s,z);printf("%s\n",s);}8.#include <stdio.h>int ff(int n){static int f=1;f=f*n;return f;}main(){int i;for(i=1;i<5;i++)printf("%d\n",ff(i));}9.#include "stdio.h"main(){int a[2][3]={11,23,6,89,45,23};int (*pa)[3];pa=a;printf( "%d\n%d\n", pa[0][2], *(*(pa+1)+1) );}#include <stdio.h>#include<string.h>main(){ char a[][10]={“morning”,”afternoon”,”evening”},*pa[3];int i;pa[0]=a[0];pa[1]=a[1];pa[2]=a[2];for(i=0;i<3;i++){printf(“Good ”);printf("%s",*(pa+i) );printf("%c\n",’!’ );}} Part Ⅲ(There are 1 questions, worth 10 marks.)得分评阅人Write a function can be called to find the value and position of largest element in the two-dimensional array given by main function.#include<stdio.h>main(){int a[4][3]={{13, 24, 35}, {3, 76, 78}, {91, 0, 151}, {12, 63,108}};。
2022年广西师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:unsigned a=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。
2、C语言源程序的基本单位是________3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
6、以下程序段通过指针变量q,给如图所示连续动态存储单元赋值(在此过程中不能移动q)。
请填空。
(假设程序段中的所有变量均已正确说明。
)_______scanf("%d",q+k);7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______10、下面程序段的运行结果是_______。
int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);二、选择题11、已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )。
c语言试题及答案期末2022一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ->D. ::答案:D3. 在C语言中,以下哪个函数用于将浮点数转换为字符串?A. printfB. sprintfC. scanfD. gets答案:B4. 下列哪个选项是合法的C语言变量名?A. 2namesB. name2C. _name2D. name$2答案:C5. C语言中,以下哪个选项表示“不等于”?A. ==B. !=C. =D. <=答案:B6. 在C语言中,以下哪个选项是正确的注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment答案:A7. C语言中,以下哪个选项不是控制语句?A. ifB. switchC. forD. include答案:D8. 在C语言中,以下哪个选项表示“逻辑与”?A. &&B. ||C. !D. =答案:A9. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str[] = "Hello", "World";答案:A10. 在C语言中,以下哪个选项表示“逻辑或”?A. &&B. ||C. !D. =答案:B二、填空题(每题2分,共20分)1. 在C语言中,字符常量可以用单引号括起来,例如'A'表示ASCII 码为______的字符。
2022年信阳师范学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、执行以下程序时,若从第一列开始输入数据,为使变量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;}2、C语言源程序的基本单位是________3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。
5、在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。
6、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。
7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
2022年山东传媒职业学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言源程序中,一个变量代表【】。
2、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);3、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}4、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;5、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;6、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。
7、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
8、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。
9、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。
已有调用语句process(a,b,max);和process(a,b,min);。
请填空。
void process(_______){int result;result=(*fun)(x,y);printf("%d\n",result);}10、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
2022年山东师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、与表达式x^=y-2等价的另一书写形式是_______。
2、在C语言源程序中,一个变量代表【】。
3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、C语言中的标识符可分为关键字、_______和_______3类。
5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
6、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++,m++)scanf("%d",_______);7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;10、在C语言中,二维数组元素在内存中的存放顺序是_______。
二、选择题11、下面4个选项中,是非法常量的选项是( )。
12、下面4个选项中,是C语言关键字的选项是( )。
A.autoB. switchC. signedD. ifEnum typedef union structinclude continue scanf type13、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是()A.scanf("%d%lx,%le",&x,&y,&z);B.scanf("%2d*%d%1f",&x,&y,&z);C.scanf("%x%*d%o”,&x,&y);D.scanf("%x%0%6.2f",&x,&y,&z);14、已有定义inta=-2;和输出语句:printf("%81x”,A.;以下正确的叙述()A.整型变量的输出格式符只有%d一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按十六进制输出,但%81x是错误的D.%81x不是错误的格式符,其中数字8规定了输出字段的宽度15、若有说明:inta[3][4];,则对a数组元素的非法引用是()。
A.a[o][2*1]B.a[1][3]C.a[4-2][ o]D.a[o][4]16、一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束17、下列程序段不是死循环的是()。
A)i nti=100;while(1){i=i%100+1;if(i>100)break;B.for(;;);C.int k=0;do{++k;}while(k>=0);D.int s=36;while(s);--s;18、以下程序有语法性错误,有关错误原因的正确说法是()。
#include <stdio.h>int main(){int G=5,k;void prt_char();-----k=prt_char(G);---}A.语句void prt_char();有错,它是函数调用语句,不能用void说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名不能使用下划线19、若有定义:inta[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[4],k;则下面程序段的输出结果是()。
for(k=0;k<4;k++)q[k]=&a[k*3];printf("%d\n",q[3][0]);A.8B.16C.20D.输出项不合法,结果不确定20、若有函数max(a,B.,并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是()A.(*p)max(a,B.; B.*pmax(a,B.;C.(*p)(a,B.;D.*p(a,B.;21、以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,'A',B’,C.;则符合程序段运行结果的选项是()。
void move(char getone,char putone){printf("%c——>%c\n",getone,putone);void hanoi(int n,char one,char two,char three){if(n==1)move(one,three);else{hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);}}A)A-->C B)A-->C C)A-->C D)A-->CA-->B A-->B A-->B A-->BC-->B C-->A C-->B C-->BB-->A A-->B A-->C A-->CC-->B B-->C B-->A A—->BA-->C A-->C B-->C B-->CA-->B A-->B A-->C A-->C22、下面程序段的运行结果是()。
char a[7]="abcdef";char b[4]="ABC";strcpy(a,B.;printf("%c",a[5]);A.口B.\0C.eD.f(其中口表示1个空格)23、下面程序的运行结果是()。
#include<stdio.h>int main(){char ch[7]={"12ab56"}; int i,s=0;for(i=0;ch[i]>= '0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'o';printf("%d\n",s);return0;}A.1B.1256C.12ab56D.1524、若变量都已正确定义,则以下程序段的输出是()。
a=10;b=50;c=30;if(a>B.a=b,b=c;c=a;printf("a=%db=%dc=%d\n".a,b,C.;A.a=10 b=30 c=10B.a=10 b=50 c=10C.a=50 b=30 c=10D.a=50 b=30 c=5025、下面程序的运行结果是( )。
#include<stdio.h>int main(){int y=10;do{y--;}while(--y);printf("%d\n",y--);return 0;}A)-1 B)1 C)8 D)0三、读程序填空26、以下程序的输出结果是_______。
#include <stdio.h>int main(){int a=325;double x=3.1415926;printf("a=%+06dx=%+e\n",a,x);return 0;}27、以下程序的输出结果为_______。
#include<stdio.h>int main(){charc='x';printf("c:dec=%d,oct=%o,hex=%x,ASCIl=%c\n",c,c,c,c);return 0;}28、若a、b、c均已正确定义且a=0、b=2、c=3,则以下程序段的输出是_______。
switch(a){case 0:switch(b==2){case 1:printf("&”);break;case 2:printf("%”);break;}case 1:switch(c){case 1:printf("S");case 2:printf(”*”);break;default:printf("#”);}}29、若运行时输入“5999<回车>”,则以下程序的运行结果(保留小数点后一位)是_______。
#include<stdio.h>int main(){intx;float y;scanf("%d”,&x);if(x>=08&8x<=2999)y=18+0.12*x;if(x>=3000&&x<=5999)y=36+0.6*x;if(x>=60008.&x<=10000)y=54+0.3*x;printf("%6.1f",y);return 0;}30、下面程序的功能是完成用100元人民币换成1元、2元、5元的所有兑换方案。
请填空。
#include<stdio.h>int main(){int i,j,k,L=1;for(i=0;i<=20;i++)for(j=0;j<=50;j++){k=_______;if(_______){ printf("%2d%2d%2d",i,j,k);L=L+1;if(L%5==0) printf("\n");return 0;}31、以下程序的运行结果是_______。
#include<stdio.h>void fun(int m);int k=1;int main(){int i=4;fun(i);printf("(1)%d,%d\n",i,k);return(0);}void fun(int m){m+=k;k+=m;{‘chark='B';printf("(2)%d\n",k-'A');}printf("(3)%d,%d\n",m,k);}32、下面程序段的功能是将字符数组a[6]={'a',b','c','d','e','f)变为a[6]={'f','a','b','c','d','e'}。