高级语言程序设计练习题42.docx
- 文档编号:14356654
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:23
- 大小:26.26KB
高级语言程序设计练习题42.docx
《高级语言程序设计练习题42.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计练习题42.docx(23页珍藏版)》请在冰点文库上搜索。
高级语言程序设计练习题42
(一)填空题:
1.C语言程序的基本单位是____函数__________。
2.在C语言中,数字056是一个_______八_______进制数,0xFF是一个_________十六_____进制数。
3.若程序中使用了函数scanf(),则必须包含的头文件名为stdio.h。
4.若程序中使用了函数strlen(),则必须包含的头文件名为string.h。
5.C语言程序的三种基本结构是_____循环_________、_______顺序_______、_______选择_______。
6.若程序中使用了函数sqrt(),则必须包含的头文件名为math.h。
7.C语言中运算对象必须是整型的运算符是%。
8.C语言中整型数据除以整型数据得到整形数据。
9.C语言源程序文件的扩展名是.c;经过编译后,所生成文件的扩展名是;经过链接后,所生成的文件扩展名是.exe。
10.若定义inta[3][5];则a数组所含数组元数个数是15,sizeof(a)的值是4,其首地址是a[0][0]。
11.在C语言中,数组名是数组的,同时它是一个_____指针_常量。
12.判断字符型变量ch是否为小写英文字母的C语言表达式为____________________________。
13.判断变量a的数值范围1≤a≤10的C语言表达式是______a>=1&&a<=10______________________。
14.C语言运算符中,++和--的结合方向(运算方向)是__________从右向左___函数读入字符串。
16.函数直接或间接地调用自己本身称为__________递归_____________。
17.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z);后,a的值为4,b的值为2。
18.字符串"student"的长度是8,它在内存中的字节数为。
19.设a、b、c为整型数,且a=2,b=3,c=4,则执行语句"a*=16+(b++)-(++c);"后,a的值是28。
20.执行intx,y,z;x=y=1;z=(x++,++y,y++);后,
则x=1,y=3,z=3。
21.定义语句intx,y;,执行y=(x=1,++x,x+2);语句后,则x=2,y=4。
22.执行下列语句inta=2;a+=a-=a*a;后,a的值是0。
23.设函数外有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存
储类别是___。
24.有以下程序(注:
字符a的ASCII码值为97)
#include
intmain()
{char*s="abc";
do
{printf("%d",*s%10);
++s;
}while(*s);
return0;
}
程序运行后的输出结果是。
25.以下程序运行后的输出结果是。
#include
intfun(intx)
{intp;
if(x==0||x==1)
return(3);
p=x-fun(x-2);
returnp;
}
intmain()
{printf("%d\n",fun(9));
return0;
}
26.有以下程序:
#include
intmain()
{inta,b=0;
for(a=0;a++<=2;);
b+=a;
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是。
27.以下程序运行后的输出结果是。
#include
intmain()
{inti,j,row,column,m;
intarray[3][3]={{100,200,300},{28,72,-30},{-850,2,-26}};
m=array[0][0];
for(i=1;i<3;i++)
for(j=0;j<3;j++)
if(array[i][j] {m=array[i][j];row=i;column=j;} printf("%d,%d,%d\n",m,row,column);return0; } 28.对于以下宏定义: #defineM1+2 #defineN2*M+1 执行语句“x=N;”之后,x的值是。 29.对于以下宏定义: #defineM(x)x*x #defineN(x,y)M(x)+M(y) 执行语句z=N(2,2+3);后,z的值是。 30.已知老师记录描述为 structteather {intid; struct{inty;intm;intd;}birth; }t; 将变量t中的d成员赋值为12的语句为___________________。 31.下面语句中的指针s所指字符串的长度是______。 char*s="\t\"Name\\Addres\n"; 32.使用fopen("abc.txt",“w+”)打开文件时,如abc.txt文件不存在,则___________________。 33.C语言中,根据数据的存放形式,文件可以分为_____________文件和_____________文件。 34.C语言中,文件的格式化输入输出函数对是_____________和____________。 35.C语言中用_____________函数打开文件,用____________函数关闭文件。 36.下面程序给一维数组输入数据,找出下标为偶数的元素的最小值并输出。 #include intmain() {inta[10],min,i; for(i=0;i<10;i++) ____________________________; min=a[0]; for(i=2;i<10;i=i+2) if(______________________) min=a[i]; printf("%d",min); return0; } 37.下面程序是用递归函数实现求两个整数的最大公约数,主函数读入待求的两个整数并调用公约数函数求解,输出结果。 请在横线上填入相应的语句以使程序完整。 #include intGcd(intm,intn) {intr; r=m%n; if() returnn; return; } intmain() {intm,n; scanf("%d%d",&m,&n); printf("Gcdofmandnis: %d\n",); return0; } (二)选择题: 1.第一个结构化程序设计语言是。 A)Pascal B)CC)Basic D)Fortran 2.以下哪一种程序设计语言是目前最受欢迎的编程语言之一。 A)Pascal B)CC)Basic D)Fortran 3.C语言规定: 源程序中main函数的位置________。 A)必须在最开始B)必须在调用的函数的后面 C)可以任意D)必须在最后面 4."程序存储思想"是提出来的。 A)丹尼尔·里奇 B)冯·诺依曼C)贝尔 D)马丁·理查德 5.计算机中的所有信息都是以的形式存储在机器内部的。 A)字符 B)二进制编码C)BCD码 D)ASCII码 6.C语言中,下列哪一个不是合法的标识符________。 A)_fileB)printfC)xyz.cD)ab3C 7.C语言中,下列哪一个是合法的标识符________。 A)3*XB)forC)_filenameD)$X 8.关于软件和程序,下列说法不正确的是________。 A)软件的核心是程序B)软件就是程序 C)软件=程序+文档D)软件中文档必不可少 9.C语言中,错误的转义字符是()。 A)'\n'B)'\101'C)'\"'D)'\108' 10.属于C语言基本数据类型的是________。 A)数组型 B)浮点型C)指针型 D)结构型 11.以下正确的C语言变量名是________。 A)%kB)a+bC)a123D)test! 12.C语言中主函数的个数是________。 A)2个 B)1个C)任意个 D)10个 13.不属于C语言基本数据类型的是________。 A)字符型 B)浮点型C)整型 D)结构型 14.在C语言中,合法的字符常量是________。 A)'\084'B)'\x43'C)'ab'D)"\0" 15.执行语句a=4*5,a*2,a+15;后a的值是________。 A)35B)40C)55D)20 16.C语言程序的三种基本结构是_________。 A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构 C)嵌套结构,循环结构,顺序结构D)递归结构,选择结构,顺序结构 17.以下选项中不属于字符常量的是________。 A)'C'B)'\072'C)'\xCC'D)"C" 18.设a为int型变量,分别执行下列赋值语句后,a所获得的值分别是______。 a=125.534;a=20.0/3;a=(int)125.521%4; A)125,6,31 B)125,6,1 C)125,7,1 D)125.534,6.666666,1.521 19.若已定义x和y为double类型变量,则表达式“x=1,y=x+3/2”的值是____。 A)1B)2C)2.0D)2.5 20.以下选项中不属于字符常量的是________。 A)"s"B)'\117'C)'\x86'D)'a' 21.以下选项中,不是C语句的是________。 A)a+=b;B); C){x++;++y;}D)printf(“%d”,a) 22.以下非法的赋值语句是________。 A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0; 23.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z);后, a,b的值为________。 A)1和1B)0和0C)4和2D)0和2 24.设有语句: inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4 的值是________。 A)2.5B)2.75C)2.0D)0.0 25.执行语句a=4*5,a*2,a+15;后a的值是________。 A)35B)40C)55D)20 26.阅读程序: #include"stdio.h" intmain() {inta;floatb,c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d,b=%f,c=%f",a,b,c); return0; } 若运行时从键盘上输入9876543210(0表示回车),则程序的输出结果_______。 A)a=98,b=765,c=4321B)a=98,b=765.000000,c=4321.000000 C)a=98,b=765.0,c=4321.0D)a=98.0,b=765.0,c=4321.0 27.下列四种数组定义中,合法的数组定义是___。 A)chara[]="hello";B)inta[4]={4,3,2,1,0}; C)chara="hello";D)chara[5]="hello"; 28.下列________循环不是无限循环。 A)for(y=0;x=1;++y);B)for(;;x=0); C)while(x=1){x=1;}D)for(y=1,x=1;x>=++y;x++); 29.以下叙述正确的是________。 A)do…while语句构成的循环不能用其他语句构成的循环来代替 B)do…while语句构成的循环只能用break语句退出 C)用do…while语句构成的循环,在while后的表达式为非零时结束循环 D)用do…while语句构成的循环,在while后的表达式为零时结束循环 30.下面的表达式中值为0的是________。 A)5%7B)5/7.0C)5/7D)5*7 31.设intk;则语句for(k=0;k=1;k++);和语句for(k=0;k==1;k++); 执行的次数分别是________。 A)无限和0B)0和无限C)都是无限D)都是0 32.下列________循环不是无限循环。 A)for(y=0;x=1;++y);B)for(;;x=0); C)while(x=1){x=1;}D)for(y=1,x=1;x>=++y;x++); 33.有变量定义如下: doublenum;,要使得num的值为3.14159,正确的输入语句是________。 A)scanf("%lf",num);B)scanf("%lf",&num); C)scanf("%d",&num);D)scanf("%f",&num); 34.设charx[]="abcde",y[]={'a','b','c','d','e'};那么________。 A)x数组的长度大于y数组的长度B)x数组的长度等于y数组的长度 C)x数组的长度小于y数组的长度D)x数组与y数组的存储区域相同 35.下面不正确的字符串赋值或赋初值方式是________。 A)char*str;str="string"; B)charstr[7]={'s','t','r','i','n','g'}; C)charstr1[10];strl="string"; D)charstr1[]="string",str2[20];strcpy(str2,str1); 36.定义如下变量和数组: inti;intx[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是________。 for(i=0;i<3;i++) printf("%d",x[i][2-i]); A)159B)147C)357D)369 37.假设已定义chara[10];char*p;那么下面语句正确的是________。 A)p=a;B)a="abcdef"; C)*p="abcdef"D)p=*a; 38.若有说明: inta[]={15,12,-9,28,5,3},*p=a;;则下列________表达式是错误的。 A)*(a=a+3)B)*(p=p+3)C)p[p[4]]D)*(a+*(a+5)) 39.为了避免嵌套的条件分支语句if-else的二义性,C语言规定: C程序中的 else总是与________组成配对关系。 A)缩排位置相同的ifB)在其之前未配对的if C)在其之前未配对的最近的ifD)同一行上的if 40.若chara[7]={'p','r','o','g','r','a','m'};char*p=a;那么下面________能 得到字符'o'。 A)*p+2;B)*(p+2);C)p+2D)p++,*p; 41.下列编译预处理指令中,不正确的是___。 A)#defineM3B)#include"stdio.h" C)#include 42.宏定义#includeG9.8中的宏名G表示________。 A)一个单精度实数B)一个双精度实数 C)一个字符串D)不确定类型的数 43.设inta=9,b=20;则printf("%d,%d\n",a--,--b);的输出结果是________。 A)9,19 B)9,20 C)10,19 D)10,20 44.以下关于switch语句和break语句的描述正确的是________。 A)在switch语句中必须使用break语句 B)break语句只能用于switch语句体中 C)break语句只能用于循环语句中 D)在switch语句中可以不使用break语句 45.下面关于函数的理解,不正确的是___。 A)函数可以嵌套定义B)函数可以嵌套调用 C)函数可以没有形式参数D)函数可以有多个形式参数 46.以下叙述中正确的是________。 A)全局变量的作用域一定比局部变量的作用域范围大 B)静态(static)存储变量的生存期贯穿于整个程序的运行期间 C)函数的形参都属于全局变量 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值 47.若有定义inta[2][3],对元素a[i][j]地址的不正确引用是___。 A)a[i]+j;B)*a+i*3+j;C)(a+i)+j;D)*(a+i)+j; 48.若有以下语句: inta[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是________。 A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2] 49.下列对指针p的操作,正确的是___。 A)int*p;*p=2;B)inta[5]={1,2,3,4,5},*p=&a;*p=5; C)inta,*p=&a;D)floata[5];int*p=&a; 50.对于C程序的函数,下列叙述中正确的是___。 A)函数的定义不能嵌套,但函数调用可以嵌套 B)函数的定义可以嵌套,但函数调用不能嵌套 C)函数的定义和调用均可以嵌套 D)函数的定义和调用均不能嵌套 51.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是。 A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 52.函数的返回值类型由___决定。 A)return后的表达式B)定义函数时指定的返回值类型 C)调用函数时临时决定D)主调用函数的类型 53.以下不能对二维数组a进行正确初始化的语句是___。 A)inta[2][3]={0};B)inta[][3]={{1,2},{0}}; C)inta[2][3]={{1,2},{3,4},{5,6}};D)inta[][3]={1,2,3,4,5,6}; 54.下面对一维数组a进行正确初始化的语句是___。 A)inta[5]={1,2};B)inta[2]={1,2,3,4,5}; C)inta[5]={,,1,2};D)inta{5}={1,2,3,4,5}; 55.若函数定义时不指明函数的类型,则其默认的返回值类型是___。 A)voidB)任意类型C)intD)double 56.下面对一维数组定义错误的是___。 A)inta[]={1,2,3,4};B)chara[5]; C)chara[6]="test";D)intn=5,a[n]; 57.以下选项中正确的语句组是___。 A)chars[];s="BOOK! ";B)char*s;s={"BOOK! "}; C)chars[10];s="BOOK! ";D)char*s;s="BOOK! "; 58.若有下面的说明和定义: structtest {intm1; charm2; floatm3; unionuu {charu1[5]; intu2[2]; }ua; }; 则在VC++系统中sizeof(structtest)的值是________。 A)9B)12C)13D)14 59.有如下定义: structexam {intx,y; }v1; 则___是正确的引用或定义。 A)exam.x=10;B)examv2;v2.x=10; C)structv2;v2.x=10;D)structexamv2={10}; 60.设函数外有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是___。 A)staticB)registerC)autoD)extern 61.当用户输入的字符串含空格时,应使用___函数读入字符串。 A)scanf()B)gets()C)getchar()D)getc() 62.设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是___。 A)autoB)registerC)staticD)extern (三)判断题: 1.在while循环中允许使用嵌套循环,但只能嵌套while循环。 2.在for循环中允许使用嵌套循环,但只能嵌套for循环。 3.while、do-while、for循环中的循环体语句都至少被执行一次。 4.一个C语言源程序文件中可以有多个main函数。 5.C程序中的else总是与在其之前未配对的最近的if组成配对关系。 6.switch语句的case表达式必须是常量表达式。 7.switch语句中必须要有default语句。 8.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。 9.函数的形式参数是局部变量。 10.访问数组元素时其下标必须是常量,不允许是表达式。 11.数组的元素作为函数的实参时采用的参数传递方式是地址传递。 12.C语言规定只能引用数组元素而不能一次引用整个数组。 13.定义int**p;,则二级指针变量p存放的是指针变量的地址。 14.定义int*p[4];,则标识符p是一个指针,指向一个含有4个整型元素的一 维数组。 15.定义int(*p)[4];,则标识符p是一个指针,指向一个含有4个整型元素的 一维数组。 16.函数不能嵌套定义但可以嵌套调用。 17.求余符号%两边必须是整型数据。 18.函数不能嵌套定义但可以嵌套调用。 19.数组的名称作为函数的实参时采用的参数传递方式是地址传递。 20.条件编译只能在调试程序时使用。 21.一个函数利用re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 练习题 42
文档标签
- 高级语言程序设计C++随堂练习高级语言程序设计
- 华师语言程序设计练习题库
- 语言程序设计练习题3004444
- 高级语言程序设计实验练习
- 语言程序设计练习
- 二级VB程序设计练习
- 高级语言程序设计复习题高级语言程序设计复习题
- 语言程序设计练习题
- 高级语言程序设计课后练习
- 高级程序设计II复习题
- 高级语言程序设计高级语言程序设计复习题
- Fei15高级语言程序设计VB模拟试题高级语言程序设计
- 高级语言程序设计考题13
- 语言程序设计函数练习试题
- 语言程序练习题
- 语言程序设计练习题整理
- 高级语言程序设计练习题答案
- C++高级语言程序设计
- 高级语言程序设计C++高级语言程序设计平时
- 高级程序设计C语言北师大高级程序设计
- 高级语言程序设计C++高级语言程序设计平时
- 高级程序设计C语言北师大高级程序设计
- C++课堂练习