高级语言程序设计模拟试题及参考答案
高级语言程序设计真题及参考答案重点

考证素材全国自考高级言语程序设计考前密卷00342(含答案)一、单项选择题(本大题共20小题,每题1分,共20分)在每题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
第1题假设定义了intm,n=0,Xp1=&m;,则以下与m=n;等价的正确语句是()A.m=Xp1;B.Xp1=&Xn;C.X&p1=&Xn;D.Xp1=X&n;【正确答案】D【你的答案】此题分数1分第2题执行语句“for(k=4;k>0;k—){break;—k;}〃后,变量k的值是()A. 1B. 2C. 3D. 4【正确答案】D【你的答案】此题分数1分第3题设有语句“charx[]=〃12345〃,y[]={'1‘,‘2‘,‘3‘,‘4‘,‘5’};〃,则以下说法中正确的选项是()A.数组x和数组y存放相同字符串B.数组x和数组y的长度相同C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度【正确答案】C【你的答案】此题分数1分第4题设inta=10,b=20,c=30;,条件表达式aA. 5B.10C.20D.30【正确答案】A【你的答案】此题分数1分考证素材考证素材第5题设有定义语句“intx[8]二{5,4,3,2,l},Xp=x;〃,则Xp+6的值是() A0B . 1C 5D . 11【正确答案】D【你的答案】此题分数1分第6题运行以下程序后,输出结果是()intf(inta,intXb){return(a+Xb);}main(){intx=1,y=2,z=3;printf(〃%d\n〃,f(f(x,&y),&z));}A. 3B. 5C. 6D.7【正确答案】C【你的答案】此题分数1分第7题以下程序的输出结果是()structabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b; printf(〃%d\n“,t);}A. 5B. 6C.7D.8【正确答案】B【你的答案】此题分数1分第8题设有定义语句“int(Xptr)[10];〃其中的ptr是()A.10个指向整型变量的指针B.指向10个整型变量的函数指针C.一个指向具有10个元素的一维数组指针D.具有10个指针元素的一维数组考证素材【正确答案】C【你的答案】此题分数1分第9题以下程序的输出结果是()main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf(〃%d%d〃,x--,y);}A.10192B.9876C.10990D.101091【正确答案】D【你的答案】此题分数1分第10题以下不正确的C言语标识符是()A. B.C.aD.A.ABCB.abcC.ab_cD.ab.c【正确答案】D【你的答案】此题分数1分第11题以下表达式的值为0的是()A3%5B . 3/5.0C . 3/5D . 3<5【正确答案】C【你的答案】此题分数1分第12题设有以下定义语句,则以下表达式中能表示结构型xx的成员x的表达式是()structxx{intx;}; structyy{structxxxxx;intyy;}xxyy;考证素材考证素材A.xxyy.xB.xxyy->xC.(&xxyy)->xxx.xD.xxx.x【正确答案】C【你的答案】此题分数1分第13题在C言语中,不合法的保存字是()A.ifB.CharC.floatD.default【正确答案】B【你的答案】此题分数1分第14题设有定义"defineR2+1〃,则RXR的宏替换结果正确的选项是()A.(2+1)X(2+1)B.2+1X2+1C.3X3D.(2+1)X2+1【正确答案】B【你的答案】此题分数1分第15题假设要对a进行++运算,则a应具有的说明为〔〕A.inta[3][2];B.CHARXA[]={〃12〃,〃ab〃};C.char(Xa)[3];D.intb[10],Xa=b;【正确答案】D【你的答案】此题分数1分第16题表达式a=(a=6,a6,a+3);运行后,则a的最后值为()A.不确定B.36C. 6D.39考证素材【正确答案】D【你的答案】此题分数1分第17题设有说明int(ptr)[M];其中ptr是()A.M个指向整型变量的指针B.指向M个整型变量的函数指针C.一个指向具有M个整型元素的一维数组的指针D.具有M个指针元素的一维指针数组,每个元素都只能指向整型量【正确答案】C【你的答案】此题分数1分第18题假设有以下说明和语句structworker{intno;charname;}work,p=work;则以下引用方法不正确的选项是()A.work.noB.(p).noC.p—>noD.work—>no【正确答案】D【你的答案】此题分数1分第19题设有整型变量x值为1,表达式x+++x+(++x)的值是()A. 3B. 4C. 5D. 6【正确答案】B【你的答案】此题分数1分第20题假设有定义“intw=1,x=2,y=3,z=4;",则表达式w<xw:y<zy:z的值是()A. 1B. 2C. 3D. 4正确答案】</xw:y<zy:z的值是()考证素材考证素材二、填空题(本大题共10小题,每题2分,共20分)请在每题的空格中填上正确答案。
高级语言程序设计模拟试题及参考答案

if(*(p+j)<*(p+j+1)) {
t=*(p+j); *(p+j)=*(p+j+1);
*(p+j+1)=t; } }
7. 有一个数组 int A*nSize+,要求写一个函数:void myfunc (int p*+, int nSize);
将 A 中的 0 都移至数组末尾,将非 0 的移至开始(保持原来的顺序不变)。例
高级语言程序设计模拟试题及参考答案
1.w 是一个大于 10 的无符号整数,若 w 是 n(n>=2)位的整数,函数求出 w 的低 n-1 位的
数作为函数值返回。
如输入 790404,输出为 90404。
#include <stdio.h> unsigned fun(unsigned w) {int j=1;
#include <stdio.h> #include <string.h> void decrypt(char *s) {
while (*s) {
if (*s>='a'&& *s<='z') if (*s=='a') *s='z'; else *s=*s-1;
s++;
} } int main() {
char t1[80],ch; gets(t1); printf("\nthe original data is :%s",t1); decrypt(t1); printf("\nthe resulted data is :%s",t1); printf("\n"); return 0;
高级程序语言设计模拟题1及答案

模拟试卷(十)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.不属于C语言保留字的是【】A. for B.goto C.if D.loop2.正确的C语言标识符是【】A.num(10) B.file bak C.continue D.class+23.设有定义语句“double d1,d2;”,则表达式“d1=1,d2=d1+5/2”的值是【】A.1 B.3 C.3.0 D.3.54.设有定义“int x=8,y,z;”,则执行“y=z=x++,x=y==z;”后,变量x值是【】A.O B.1 C.8 D.95.设有“int a=1,b=1;”,“printf("%d,%d",(a++,--b),b-1);”的输出是【】A.1,-1 B.1,0 C.0,-1 D.0,06.设有定义语句“char s[]="123";”,则表达式“s[3]”的值是【】A.’1’ B.’3’ C.0 D.语法出错7.定义一个具有10个元素的整型数组,应当使用语句【】A.int a[10]; B.int a[2,5]; C.int a[]; D.int *a[10];8.设指针变量p1、 p2已经指向同一个数组的元素,则下列表达式中错误的是【】A.p1=p2 B.p1==p2 C.p1-p2 D.p1+p29.设有定义语句“int a[]={2, 4,6,8,10},*p=s;”,则值为8的表达式是【】A.*p+3B.*p+4 C.*(p+4) D.*(s+3)10.下列数据类型中不属于构造类型的是【】A.数组型B.结构型C.共用型D.枚举型11.函数fopen()的返回值不能是【】A.NULL B.O C.1 D.某个内存地址12.以只写方式打开一个二进制文件,应选择的文件操作方式是【】A."a+"B."w+"C."rb"D."Wb"13.设有定义语句“char ch='\77';”,则下列说法中正确的是【】A.ch中含有1个字符 B.ch中含有2个字符C.ch中含有3个字符 D.语法出错14.设有函数调用语句“f(x1,x1+x2,(x1,x2));”,正确的说法是【】A.调用的实际参数是2个 B.调用的实际参数是3个C.调用的实际参数是4个 D.调用时会出现语法错误。
高级语言程序设计(Python)习题与答案

一、单选题1、计算机为什么采用二进制,而非十进制作为数制的基础?A.因为二进制比十进制计算速度快B.因为二进制比十进制表示能力更强C.因为二进制数精度更高D.因为二进制数更容易被硬件存储和计算正确答案:D2、Python语言为什么被称为高级程序设计语言?A.因为它是编译型语言B.因为它是解释型语言C.因为它比低级语言更复杂D.因为它比低级语言更抽象正确答案:D3、关于Python语言的执行过程,描述正确的是?A.可以同时执行多条语句B.由解释器一条语句一条语句地执行C.执行过的语句将不会再被执行D.由编译器将源程序转化为机器语言,然后执行正确答案:B4、下列Python程序,没有错误的是?A.print 'Hello, ' print 'World!'B.print 'Hello, I\'m Tom.'C.print 'Hello, this's Tom.'D.Print 'Hello, World!'正确答案:B5、在Spyder IDE中编写Python程序,输出“Hello World”,要求将这两个单词分两行输出,以下哪个程序不正确?A.print 'HelloWorld'B.print 'Hello\nWorld'C.print 'Hello'print 'World'D.print "Hello\nWorld"正确答案:A6、执行下列语句,输出的结果是?x = 7.0y = 5print x % yA.1B.2C.1.0D.2.0正确答案:D7、能实现下面功能的程序是?接收用户输入的一个整数。
如果输入的是偶数,则输出“True”,否则输出“False”。
A.print not bool(raw_input() % 2)B.print int(raw_input()) % 2 == 0C.print int(raw_input()) % 2 == 1D.print bool(int(raw_input()) % 2)正确答案:B8、以下程序的输出结果是?y = 0for i in range(0, 10, 2):y += iprint yA.30B.20C.9D.10正确答案:B9、以下程序的输出结果是?number = 30if number % 2 == 0:print number, 'is even'elif number % 3 == 0:print number, 'is multiple of 3'A.30 is evenB.30 is multiple of 3C.程序出错D.30 is even30 is multiple of 3正确答案:A10、以下程序的输出结果是?x = 1y = -1z = 1if x > 0:if y > 0: print 'AAA'elif z > 0: print 'BBB'A.语法错误B.BBBC.AAAD.无输出正确答案:D11、下列程序的输出结果是:def foo():m = 1def bar():n = 2return m + nm = bar()print mfoo()A.1B.3C.程序出错D.2正确答案:B12、字符串s长度为奇数,则显示中间字符的表达式为?A.s[len(s)/2 - 1]B.s[len(s)/2 + 1]C.s[len(s)/2]D.s[(len(s) + 1)/2]正确答案:C13、关于元组数据结构,下面描述正确的是:A.元组不支持切片操作B.所有元素数据类型必须相同C.支持 in 运算符D.插入的新元素放在最后正确答案:C14、一个学生的信息包括:学号、姓名、年龄、性别、电话。
高级语言程序设计自考模拟试题及答案解析(6)

高级语言程序设计自考模拟试题及答案解析(6)(1/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
第1题汇编程序的功能是( )A.将汇编语言程序转换成目标程序B.将汇编语言程序转换成高级语言程序C.将高级语言程序转换为目标程序D.将汇高级语言程序转换为编语言程序下一题(2/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
第2题设int x=1;a=9,b=6,c=9,d=8;执行语句:if(a>b)if(c>b)if(b>d)x=2;else x=6;后x的值是( )A.1B.2C.6D.不确定上一题下一题(3/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
第3题设int a[10],*p=a;则对数组的正确引用是( )A.a[p]B.p[a]C.*(p+2)D.p+2上一题下一题(4/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
第4题若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。
则该变量是( )A.auto变量B.register变量C.局部变量D.static变量上一题下一题(5/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
第5题下列运算符,优先级最低的是( )A.&&B.!D.+=上一题下一题(6/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
第6题对于文件打开方式"rb+"描述正确的是( )A.可读写文本文件B.只读文本文件C.可读写二进制文件D.只读二进制文件上一题下一题(7/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
第7题设int a=1,b=2,c=4;经过表达式(c=a!=b)&&(a==b)&&(c=b)运算后,a、b和c的值分别是( )A.1,2,0B.1,2,1C.1,2,2 C.1,2,3上一题下一题(8/15)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
高级语言程序设计练习题2及答案

一、单选题1、对下面的程序说法正确的是______。
void main(){int x=3,y=0,z=0;if(x=y+z)printf("****");elseprintf("####");}A.通过编译,但是不能运行B.输出为####C.有语法错误,不能通过编译D.输出为****正确答案:B2、假设变量i为整型量,比较下面两条if语句,选出正确答案______。
if(i!=0);if(i);A.if(i)语法错B.两者作用等价C.两者作用不同D.两者作用相反正确答案:B3、阅读程序,分析输出结果是()。
#include <stdio.h>void main(){int x=10,y=5;switch(x){ case 1:x++;default: x+=y;case 2:y--;case 3:x--;}printf("x=%d,y=%d",x,y);}A.x=14,y=4B.x=15,y=5C.x=10,y=5D.x=15,y=4正确答案:A4、阅读程序,分析输出结果是()。
#include <stdio.h>void main(){int a=6,b=10,t;if((a=b)>0)t=a+b;printf("%d\n",t);}A.20B.无输出C.16D.12正确答案:A5、阅读程序,分析输出结果是()。
#include <stdio.h>void main( ){int a=2,b=-1,c=2;if(a)if(b<0) c=0;else c++;printf("%d\n",c);}A.0B.1C.3D.2正确答案:A6、阅读程序,分析输出结果是( )。
void main( ){int x=0,a=1,b=1;switch(x){case 0: a++;case 1: b++;break;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}#include <stdio.h>void main(){int a;scanf(“%d”, &a);if(a++ < 9)printf(“%d\n”, a);elseprintf(“%d\n”, a--); }A.9B.8C.10D.11正确答案:C8、有以下程序#include <stdio.h>main(){int y=9;switch(y++){case 9:y/=2;case 8:--y;}printf("%d",y);}程序的运行结果是A.5B.3C.4D.9正确答案:C9、以下程序#include <stdio.h> main(){int a=2,b=3,c=0;if(a=b)c=a;elsec=b;printf("%d",c);}程序的运行结果是A.0B.1C.2D.3正确答案:D10、如下程序的运行结果是() int main(){int a=0,b=0,c=0;if(a=1,a>=b){switch(b++){case 1:c=a;case 0:c=b;break;default:c=0;}}printf("%d",c);return 0;}A.1B.3C.2D.0正确答案:A11、已知int t=0; while(t=1) {...} 则以下叙述正确的是()A.以上说法都不对B.循环控制表达式不合法C.循环控制表达式的值为0D.循环控制表达式的值为1正确答案:D12、以下程序段执行后的输出结果()。
自学考试高级语言程序设计历年真题和答案
2001年10月自考高级语言程序设计(一)试题第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C语言程序编译时,程序中的注释部分A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.下列表达式的值为0的是()A.3%5B.3/5.0C.3/5D.3<53.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%24.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()A.0和2B.0和3C.1和2D.1和35.下列叙述中,正确的是()A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B.宏名必须用大写字母表示C.宏替换不占用运行时间,只占编译时间D.在程序的一行上可以出现多个有效的宏定义6.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default7.与语句if(a>b)if(c>d)x=1;else x=2;等价的是()A.if(a>b){if(c>d)x=1;else x=2;}B.if(a>b){if(c>d)x=1;}else x=2;C.if((a>b)&&(c>d))x=1;else x=2;D.if(a<=b)x=2;else if(c>d) x=1;8.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是A.x=a,y=97B.x=97,y=aC.x=97,y=97D.x=a,y=a9.设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是()A.2B.3C.4D.无确定值10.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf("%d\n”,a[1][0]+b[0][0]);}后输出的结果是A.0B.1C.2D.311.设char str[100];int i=5;则引用数组元素的错误形式是()A.str[i+10]B.*(str+i)C.*(str+i-1)D.*((str++)+i)12.设int x[]={1,2,3,4,5,6},*p=x;则值为3的表达式是()A.p+=2,*++pB.p+=2,*p++C.p+=3,*pD.p+=2,++*pA.autoB.staticC.externD.register14.执行下列程序()int a=3,b=4;void fun(int x1,int x2){printf("%d,%d\n",x1+x2,b);}main(){int a=5,b=6;fun(a,b);}后输出的结果是A.3,4B.11,1C.11,4D.11,615.设有定义语句struct{int a;float b;} d[3]={{1,4},{2,5},{6,7}};则printf("%3.1f\n",d[2].a*d[2].b/d[1].b);的输出是()A.2.5B.2.0C.8.0D.8.416.设有定义语句:enum t1 {a1,a2=7,a3,a4=15}time; ( )则枚举常量a2和a3的值分别为A.1和2B.2和3C.7和2D.7和817.将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是()A.2和2B.2和5C.5和2D.5和518.在文件使用方式中,字符串"rb"表示()A.打开一个已存在的二进制文件,只能读取数据B.打开一个文本文件,只能写入数据C.打开一个已存在的文本文件,只能读取数据D.打开一个二进制文件,只能写入数据19.执行下列程序()# define F(y) 15>>y#define PRINT(a) printf("%d",a)main(){PRINT(F(2));}后输出的结果是A.3B.3.5C.14D.7.520.main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为()A.int argvB.char * argv[];C.char argv[];D.char **argv[];第二部分非选择题二、填空题(本大题共10小题,每小题2分,共20分)21.初始化值是0.618的双精度变量a的定义形式为____________。
高级计算机程序设计员模拟试题含参考答案
高级计算机程序设计员模拟试题含参考答案一、单选题(共90题,每题1分,共90分)1、Visual C++提供的()是一个用来创建或改变资源的特定环境。
它通过共享技术和界面来快速简捷地创建和修改应用资源。
A、AppWizardB、资源编辑器C、ClassWizardD、资源管理器正确答案:B2、下列关于HTMLHelpWorkshop说法正确的是()。
A、不可以浏览、编辑和转换图形B、不可以截取屏幕图形C、不可以对HTML 文件进行压缩D、不可以编辑声音和图像正确答案:B3、C# 中组件可以分为两类:即()和()。
A、不具备图形界面的类库,具有用户界面的控件B、不具备图形界面的控件,具有用户界面的类库C、不具备图形界面的类库,具有用户界面的类库D、不具备图形界面的控件,具有用户界面的控件正确答案:A4、"可通过()间接地给 " 用户账号 " 赋予了权限。
"A、组描述B、组成员C、组账号D、组密码正确答案:C5、TrackRecord是()公司的测试管理工具。
A、RationalB、CompurewareC、Mercury InteractiveD、IBM正确答案:B6、用例分为系统用例和()。
A、时序用例B、业务用例C、对象用例D、测试用例正确答案:B7、()决定 SQL Server在查询数据库时所采用的数据比较方式。
A、服务登陆标识B、字符集C、网络库D、排序方式正确答案:D8、()方法的作用是创建并返回一个与SqlConnection 相关联的SqlCommand对象。
A、ExecuteReader()B、Open()C、ExecuteNonQuery()D、CreateCommand()正确答案:D9、并行接口适用于()的场合,其接口电路相对简单。
A、传输距离较远,传输速度要求高B、传输距离较近,传输速度要求高C、传输距离较近,传输速度要求低D、传输距离较远,传输速度要求低正确答案:B10、当需要控制一个类的实例只有一个,而且客户端只能从一个全局的访问点访问它时,可以选用设计模式中的()。
高级语言程序设计试题(卷)与答案
1.1 单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。
面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。
面向过程语言是一种能方便描述算法过程的计算机程序设计语言。
有汇编语言,但没有面向汇编语言。
汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。
所以解答是①。
2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C语言④PASCAL语言【解】C语言和PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。
低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。
所以解答是②。
3.下列字符中属于键盘符号的是()①②n ③t ④b【解】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。
有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。
为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。
如"n"、"t" 、"b"都不是键盘字符,在C语言中,它们都得用转义字符来表达。
只有字符才是键盘字符。
所以解答是①。
但在C程序中,反斜杠字符已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成""。
4.下列字符列中,不是用来表达转义字符是()①②" ③074 ④【解】转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符X之后接上1至2个十六进制数字符。
后两种分别八进制数和十六进制数直接给出字符的ASCll代码值。
高级语言程序设计模拟试卷(答案全面)
自考课程综合测验C 语言程序设计 试卷 (课程代码 )一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题干后的括号内。
每小题1分,共20分)1.程序中定义以下宏 #define S (a ,b ) a*b ,若定义 int area ;且令area=S (3+1,3+4),则变量area 的值为( )A 、 10B 、 12C 、 21D 、 28 2.正确的标识符是( )A 、 ?aB 、 a=2C 、 a.3D 、 a_3 3.表达式1&3&5&7的值为(A ) A 、1 B 、3 C 、5 D 、74.语句printf (″s\\t ″)的输出结果为( ) A 、 s\\t B 、s\t C 、s\ D 、 s5.执行下列语句中,sum 变量的值是( ) int sum=0,i;for(i=0;i<10;i++,sum+=i);A 、45B 、55C 、0D 、编译错误 6.已知有共用体变量data1定义如下: union data { int i; char ch; float f; } data1;则变量data1所占的内存存储空间可表示为( ) A 、size of (int ) B 、size of (char )C 、size of (float )D 、size of (int )+size of (char )+size of (float ) 7.若fp 是指向某文件的指针,且feof (fp )的返回值是非零值,则表示( ) A 、已读到此文件末尾 B 、未读到此文件的末尾 C 、此文件已关闭 D 、此文件尚未被打开 8.以下C 语言函数声明中,不正确的是( )A 、void fun (int x ,int y );B 、fun (int x ,int y );C 、int fun (int x ,y );D 、char *fun (char *s ); 9.下列选项中,不合法的C 语言关键字是( ) A 、auto B 、default C 、static D 、var 10.若x=4,则x*=x+2的值为( ) A 、36 B 、24 C 、18 D 、2011.函数调用语句func ((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为( ) A 、1 B 、2 C 、4 D 、512.设a 为5,执行下列语句后,b 的值不为2的是( ) A 、b=a/2 B 、b=6-(-a ) C 、b=a%2 D 、b=a>32:113.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是( ) A 、p2=**p1 B 、p2=*&p1 C 、p2=*p1 D 、p2=&*p1 14.以下运算符中,运算对象必须是整型的是( ) A 、 / B 、 %= C 、!= D 、<= 15.以下关于typedef 的叙述中错误的是( ) A 、typedef 可以增加新的类型B 、用typedef 可以定义各种类型名,但不能用来定义变量C 、用typedef 只是将已有的类型用新的标识符来代表D 、使用typedef 有利于程序的通用和移植 16.若执行完成下列语句: int a=3,b=6,c ; c=a ∧b<2;则变量c 的二进制值为( )A 、00011100B 、00010100C 、0001000D 、0001101117.设有定义int x=1; int y= a < A x-:x++;,则变量y 的值是( ) A 、 0 B 、2 C 、1 D 、318.以下关于宏替换的叙述不正确的是() A 、宏替换只是字符替换 B 、宏名无类型C 、宏替换不占用运行时间D 、宏替换不占用编译时间 19. 以下对枚举类型名的定义中正确的是( )A 、enum s={a ,b ,c}B 、enum s {a=9,b=2,c}C 、enum s={′a ′, ′b ′, ′c ′}D 、enum s{′a ′, ′b ′, ′c ′} 20. 假设指针p 已经指向某个整型变量x ,则*p 相当于( ) A 、&x B 、&p C 、x D 、*x二、多项选择题(在每小题的五个备选答案中,选出二至五个正确答案,并将其代码填写在题干后的括号内;错选、多选不得分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序设计模拟试题及参考答案1.w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的低n-1位的数作为函数值返回。
如输入790404,输出为90404。
#include<stdio.h>unsigned fun(unsigned w){int j=1;unsigned sum=0;while (w!=0){if (w<10) break;sum=sum+w%10*j;j=j*10;w=w/10;}return sum;}int main(){unsigned x;printf("enter a unsigned integer number:");scanf("%u",&x);printf("the original data is :%d\n",x);if (x<10) printf("data error!");elseprintf("the result :%u\n",fun(x));printf("\n");return 0;2.完成decrypt函数,实现解密功能:将任意密文实现解密输出。
加密规则:字符串中所有小写英文字母循环加密。
如a到b,b到c,…,z到a。
如输入az ibwf b mjuumf bqqmf!,输出为:zy have a little apple!#include<stdio.h>#include<string.h>void decrypt(char *s){while (*s){if (*s>='a'&& *s<='z')if (*s=='a') *s='z';else*s=*s-1;s++;}}int main(){char t1[80],ch;gets(t1);printf("\nthe original data is :%s",t1);decrypt(t1);printf("\nthe resulted data is :%s",t1);printf("\n");return 0;3. 用选择法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。
#include<stdio.h>int main(){int a[10],i,j;void sort(int *);for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\nthe original data is :");for(i=0;i<10;i++) printf("%d ",a[i]);sort(a);printf("\nthe result data is :");for(i=0;i<10;i++)printf("%d ",a[i]);puts("");return 0;}void sort1(int *p){int i,j,t;for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(*(p+i)<*(p+j)){t=*(p+i);*(p+i)=*(p+j);*(p+j)=t;}4. 编写函数,使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,什么也不做。
例如:字符串内容为*******AS*BHH**G*******,若n值为4,删除后,字符串内容应该为:*******AS*BHH**G****,若n值为9,则为*******AS*BHH**G*******#include <stdio.h>void fun(char *a,int n){char *t=a;int m=0;while (*t) t++;t--;while (*t=='*'){t--;m++;}if (m>n) *(t+n+1)='\0';}void main(){char s[81];int n;printf("Enter a string:\n");gets(s);printf("\nenter n:");scanf("%d",&n);fun(s,n);printf("the string after deleted:\n");puts(s);printf("\n");6. 用冒泡法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。
#include<stdio.h>int main(){int a[10],i,j;void sort(int *);for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\nthe original data is :");for(i=0;i<10;i++) printf("%d ",a[i]);sort(a);printf("\nthe result data is :");for(i=0;i<10;i++)printf("%d ",a[i]);puts("");return 0;}void sort(int *p){int i,j,t;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(*(p+j)<*(p+j+1)){t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;}}7. 有一个数组int A[nSize],要求写一个函数:void myfunc (int p[], int nSize);将A中的0都移至数组末尾,将非0的移至开始(保持原来的顺序不变)。
例如:A原来是:1, 0, 3, 4, 0, -3, 5经过myfunc处理后为:1, 3, 4, -3, 5, 0, 0#include <stdio.h>void myfunc(int p[],int nsize){int i,tt[10]={0},j=0;for(i=0;i<nsize;i++)if (p[i]!=0) tt[j++]=p[i];for(i=0;i<10;i++)p[i]=tt[i];}int main(){int st[10]={12,0,0,54,0,0,0,23,24,68},i;myfunc(st,10);for(i=0;i<10;i++)printf("%d\n",st[i]);return 0;}9. 从键盘输入10个学生的信息(包括姓名,成绩),存到磁盘文件上。
然后再从磁盘文件上读取第2,4,6,8,10共5个学生数据输入计算机,并在屏幕上显示出来。
#include<stdio.h>#include<stdlib.h>#define N 10struct Student{char name[10];int score;}stud[N];void save(){FILE *fp;int i;if((fp=fopen("d:\\file4.dat","w"))==NULL){printf("cannot open file\n");return;}/*fp=fopen("d:\\file4.dat","w");*/for(i=0;i<N;i++)if(fwrite(&stud[i],sizeof(struct Student),1,fp)!=1)printf("file write error\n");//fwrite(&stud[i],sizeof(struct Student),1,fp);fclose(fp);}void read(){FILE *fp=fopen("d:\\file4.dat","r");for(int i=1;i<N;i+=2){fseek(fp,i*sizeof(struct Student),0);fread(&stud[i],sizeof(struct Student),1,fp);printf("读取的数据为:%s %d\n",stud[i].name,stud[i].score);}fclose(fp);}int main(){printf("please enter data of student:\n");for(int i=0;i<N;i++)//scanf(" %s,%d",stud[i].name,&stud[i].score);{printf("\n姓名:");scanf(" %s",stud[i].name);printf("\n成绩:");scanf("%d",&stud[i].score);}save();read();return 0;}10. 从键盘上读入5个字符串,对它们按字母大小的降序排序,然后把排好序的字符串送到磁盘文件中保存,文件把保存到d盘根目录下,完成write函数。
#include<stdio.h>#include<stdlib.h>#include<string.h>void write(char (*st)[20]){int i,j;char t[20];FILE *fp1;for(i=0;i<4;i++)for(j=0;j<5-i-1;j++)if(strcmp(st[j],st[j+1])<0){strcpy(t,st[j]);strcpy(st[j],st[j+1]);strcpy(st[j+1],t);}fp1=fopen("d:\\file.txt","w");for(i=0;i<5;i++){fputs(st[i],fp1);fputs("\n",fp1);}fclose(fp1);}void output(){FILE *fp2;char buf[30];if ((fp2=fopen("d:\\file.txt","r"))==NULL){ printf("can't open file\n");exit(0);}while (fgets(buf,20,fp2))printf("%s",buf);fclose(fp2);}int main(){char a[5][20];int i;printf("Enter three strings:\n");for(i=0;i<5;i++)gets(a[i]);write(a);output();return 0;11 有一个文件,存放了一批学生信息(姓名,学号,成绩),完成函数ave,求学生的平均成绩。