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

合集下载

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

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

考证素材全国自考高级言语程序设计考前密卷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分)请在每题的空格中填上正确答案。

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

高级语言程序设计模拟试题及参考答案
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 的移至开始(保持原来的顺序不变)。例
高级语言程序设计模拟试题及参考答案
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及答案

高级程序语言设计模拟题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)习题与答案

高级语言程序设计(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)

高级语言程序设计自考模拟试题及答案解析(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及答案

高级语言程序设计练习题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二、多项选择题(在每小题的五个备选答案中,选出二至五个正确答案,并将其代码填写在题干后的括号内;错选、多选不得分。

高级语言程序设计(Python)习题与答案

高级语言程序设计(Python)习题与答案

一、单选题1、运行下述语句,正确的结果是【】。

>>>“今年,我的平均分为{:.2f}!”.format(96.3213)A.今年,我的平均分为 96.3213.2f!B.今年,我的平均分为{:.2f}! 96.3213C.今年,我的平均分为 96.3213!D.今年,我的平均分为 96.32!正确答案:D2、下列对input()函数的描述正确的是【】。

A.a= input(请输入一个整数:,100)B.a= input("请输入一个整数",100)C.a= input(请输入一个整数:)D.a= input("请输入一个整数")正确答案:D3、运行Python语句得到的结果是【】>>> print('{0},{1}'.format('carmen',20))A.20,carmenB.‘carmen’,20C.carmen,20D.20,‘carmen’正确答案:C4、运行Python语句得到的结果是【】>>> print('{1},{0},{1}'.format('carmen',20))A.20,carmen,20B.20,'carmen',20C.20, 20 ,'carmen'D.'20', 'carmen', '20'正确答案:A5、运行Python语句得到的结果是【】>>> print('{},{}'.format('carmen',20))A.carmenB.20C.carmen,20D.20,20正确答案:C6、运行Python语句得到的结果是【】>>> number2 = eval ("5*1"+"2")A.52B.60C.7D.53正确答案:B7、下列选项中合法的标识符是【】。

高级语言程序设计

高级语言程序设计

高级语言程序设计(C)模拟题四一、选择题(本题共20道小题,每题2分,共40分。

)1.以下有4组用户标识符,其中合法的一组是()。

A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define答案:C解析:标识符的命名规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线,标示符的命名不能同C语言的关键字相同。

2. 若有下面的程序片段:int a[12]={0}, *p[3], **pp, i;for(i=0; i<3; i++)p[i]=&a[i*4];pp=p;则对数组元素的错误引用是A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2)答案:C解析:A. pp[0]表示p[0]的地址,而pp[0]也为一个指针,它和pp用法相同,故pp[0][1]则表示a[1]的地址,正确。

B.正确。

C.数组p的最大下标为2,错误。

D. *(*(p+2)+2)表示a[10],正确。

3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A) a<>0 B) !aC) a=0 D) a答案:D解析:对if(a)而言,如果a的值不为0,则if语句括号中表达式的值不为0,if为真,选D。

4. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;其中0≤i≤9, 则对a数组元素不正确的引用上A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]答案:D解析:A. a[p-a]表示a[0],正确。

B. *(&a[i])表示a[i],正确。

C. p[i]表示&a[i],正确。

D. a数组最大下标为9,错误。

5. 以下程序的输出结果是int main( ){ int x=10,y=10,I;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1答案:D解析:第一遍循环: x=10,y=10,x>8,输出 10 10后,x=9,y=1.第二遍循环:x=9>8,输出 9 1 后x=8,y=2。

高级语言程序设计(Python)习题与答案

高级语言程序设计(Python)习题与答案

高级语言程序设计(Python)习题与答案一、单选题1、运行下述语句,正确的结果是【】。

>>>“今年,我的平均分为{:.2f}!”.format(96.3213)A.今年,我的平均分为 96.3213.2f!B.今年,我的平均分为{:.2f}! 96.3213C.今年,我的平均分为 96.3213!D.今年,我的平均分为 96.32!正确答案:D2、下列对input()函数的描述正确的是【】。

A.a= input(请输入一个整数:,100)B.a= input("请输入一个整数",100)C.a= input(请输入一个整数:)D.a= input("请输入一个整数")正确答案:D3、运行Python语句得到的结果是【】>>> print('{0},{1}'.format('carmen',20))A.20,carmenB.‘carmen’,20C.carmen,20D.20,‘carmen’正确答案:C4、运行Python语句得到的结果是【】>>> print('{1},{0},{1}'.format('carmen',20))A.20,carmen,20B.20,'carmen',20C.20, 20 ,'carmen'D.'20', 'carmen', '20'正确答案:A5、运行Python语句得到的结果是【】>>> print('{},{}'.format('carmen',20))A.carmenB.20C.carmen,20D.20,20正确答案:C6、运行Python语句得到的结果是【】>>> number2 = eval ("5*1"+"2")A.52B.60C.7D.53正确答案:B7、下列选项中合法的标识符是【】。

高级语言c程序设计试题及答案

高级语言c程序设计试题及答案

高级语言c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,用于定义变量的关键字是()。

A. varB. defineC. intD. let答案:C3. 下列关于C语言函数的描述中,正确的是()。

A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型必须与定义时一致D. 函数可以嵌套定义答案:B4. 在C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. =答案:A5. 下列关于C语言数组的描述中,正确的是()。

A. 数组的下标从0开始B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后可以改变答案:A6. 在C语言中,用于定义指针的关键字是()。

A. ptrB. pointC. *D. &答案:C7. 下列关于C语言中结构体的描述中,错误的是()。

A. 结构体可以包含不同类型的数据B. 结构体可以包含其他结构体C. 结构体变量不能存储数据D. 结构体可以包含函数答案:C8. 在C语言中,用于实现文件操作的函数库是()。

A. stdio.hB. stdlib.hC. string.hD. fcntl.h答案:A9. 下列关于C语言中预处理指令的描述中,错误的是()。

A. #define可以定义宏B. #include用于包含头文件C. #if用于条件编译D. #else用于循环控制答案:D10. 在C语言中,用于实现动态内存分配的函数是()。

A. mallocB. freeC. callocD. realloc答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个变量的声明通常包括变量的____和____。

答案:类型名称2. C语言中,用于输入的函数是____。

高级语言程序设计练习题1及答案

高级语言程序设计练习题1及答案

一、单选题1、程序设计语言包括( )A.机器语言B.机器语言、汇编语言、高级语言C.高级语言D.汇编语言正确答案:B2、用C语言编写的程序( )A.以上说法都不对B.可直接被计算机硬件执行C.经过编译方式翻译成其机器指令,并链接后可以执行D.经过解释方式翻译成其机器指令后可以执行正确答案:C3、程序设计的基本步骤主要包括( )A.确定程序实现算法、编写程序以及程序测试B.确定程序设计方法,描述数据方式、编写程序以及程序调试C.确定数据结构,算法描述、编写程序以及程序测试D.数据描述,算法描述、编写程序正确答案:C4、一个C语言程序如何执行()A.从主程序开始执行B.子程序开始执行C.主函数main()开始执行D.主过程开始执行正确答案:C5、以下叙述中错误的是( )A.一个C程序只能有一个主函数B.C程序在书写时,有严格的缩进要求,否则不能编译通过C.C程序的主函数必须用main作为函数名D.一个C程序中可以包含多个不同名的函数正确答案:B6、下列叙述中错误的是( )A.后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件B.C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C.计算机不能直接执行用C语言编写的源程序D.后缀为.obj和.exe的二进制文件都可以直接运行正确答案:D7、C语言源程序中如何实现注释A. 一行中#开始的剩余部分为注释内容。

例如int a=10;#测试B. 一行中@开始的剩余部分为注释内容。

例如int a=10;@测试C. 一行中\\开始的剩余部分为注释内容。

例如int a=10;\\测试D.通过/* */ 界定的内容为注释内容。

例如/* 测试*/正确答案:D8、C语言程序中主函数的名称是A.mainB.MAINC.MainD.WinMain正确答案:A9、如下属于C语言的基本语句的是?A.x=sin(100)B.#include <stdio.h>C.1+2;D.x=1+2正确答案:C10、C语言中界定函数开始与结束的符号是A.< >B.( )C.[ ]D.{ }正确答案:D11、不合法的c语言标识符是()A.MDB.x.cC.IntD._abc正确答案:B12、关于C语言中数的表示,以下叙述中正确的是()A.只有实型数在允许范围内能精确无误的表示,整型数会有误差B.只有整型数在允许范围内能准确无误的表示,实型数会有误差C.只要在允许范围内整型数和实型数都能精确的表示D.只有用八进制表示的数才不会有误差正确答案:B13、已知char a=’\17’,变量a中()A.存储3个字符B.存储1个字符C.错误的变量声明与初始化D.存储2个字符正确答案:B14、有定义:int a; long b; double x,y; 则以下选项中正确的表达式是( )A.y=x+y=xB.a=x/10=y;C.a%(int)(x-y)D.(a*y)%b正确答案:C15、设有定义:int x=2;,以下表达式中,值不为6的是A.x++,2*xB.x*=(1+x)C.2*x, x+=2D.x*=x+1正确答案:C16、若有int n=6;表达式n%=n+=n-=n*n的值为()A.0B.10C.12D.6正确答案:A17、sizeof(float)是()A.一个整型表达式B.一个函数调用C.一个不合法的表达式D.一个双精度型表达式正确答案:A18、判断char型变量c1是否为大写字母的正确表达式是()A.'A'<=c1<='Z'B.('A'<=c1)AND('Z'>=c1)C.(c1>='A')&(c1<='Z')D.(c1>='A')&&(c1<='Z')正确答案:D19、正确表达式数学不等式10<x<100的C语言表达式是?(假设x 已经声明)()A.10<x and x<100B.10<x && x<100C.10<x<100D.10>x>100正确答案:B20、关于如下语句的输出结果为const int a=100;a=a+100;printf("%d",a);A.300B.200C.100D.程序存在错误无法运行正确答案:D21、有以下程序void main(){int a=6,b=7;printf("a=%%d,b=%%d",a,b);}输出结果是()。

全国高级语言程序设计模拟试卷三套(含答案)

全国高级语言程序设计模拟试卷三套(含答案)

07 年10 月自考“高级语言程序设计(一)”最新模拟试题一、单选题1.设有以下说明语句typedef struct{ int n;char ch[8];}PER; 则下面叙述中正确的是( B )P218A.PER 是结构体变量名B. PER是结构体类型名C. typedef struct 是结构体类型D. struct 是结构体类型名2.下面运算符优先级最高的是( C )A.<= B.= C.% D.&&3.变量的指针含意是指变量的( B )P139A.值B.地址C.存储D.名字4.某文件中定义的静态全局变量(或称静态外部变量)其作用域是( A )P173 A.只限某个函数B.本文件C.跨文件D.不限制作用域5.在C语言中,错误的常数是( A )A.1E+0.0B.5C.0xafD.0L6.以下叙述中正确的是( B )A.全局变量的作用域一定比局部变量的作用域范围大P173(静态型变量)B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值7.表达式strlen(”hello”)的值是( B )。

A.4B. 5C. 6D. 78.若数组名作实参而指针变量作形参,函数调用实参传给形参的是( C )P168 A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址9.要调用字符串函数时,在# include命令行中应包含( B )。

A.”stdio.h”B.”string.h”C.”math.h”D.”ctype.h”10.错误的转义字符是( B )A.'\091' B.'\\' C.'\0' D.'\''11.有以下程序( B )main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A.9,2B. 10,2C. 9,1D. 10,112.已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是( C )。

高级语言程序设计习题(最新版带答案)

高级语言程序设计习题(最新版带答案)

高级语言程序设计习题(最新版带答案)高级语言程序设计习题(最新版带答案)一、选择题1. 下列选项中,不属于高级语言程序设计的语言是:A. C语言B. Java语言C. HTML语言D. Python语言答案:C2. 在C++语言中,关键字用于:A. 定义变量B. 定义函数C. 标识程序结构D. 存储数据答案:C3. 以下哪个不属于Python的内置数据类型?A. intB. floatC. listD. string答案:D二、填空题1. 在Java中,用于接收命令行输入的方法是____。

答案:Scanner类的next方法2. C语言中,用于声明一个指针变量的符号是____。

答案:*三、编程题1. 编写一个Python程序,输入两个整数,计算并输出它们的和。

答案:```pythonnum1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))sum = num1 + num2print("两个整数的和为:", sum)```2. 编写一个C++程序,输入一个整数,判断它是否为偶数,是则输出"偶数",否则输出"奇数"。

答案:```c++#include <iostream>using namespace std;int main() {int num;cout << "请输入一个整数:";cin >> num;if (num % 2 == 0) {cout << "偶数" << endl;} else {cout << "奇数" << endl;}return 0;}```四、应用题输入一个整数n,计算并输出1到n的所有整数的平方和。

高级语言及程序设计试卷与答案

高级语言及程序设计试卷与答案

高级语言程序设计一、选择题:(共20题,每题1.5分,共30分)1. 下列四个选项中,均是合法的整型常量的选项是()A.160 –0XFFFF 011 B. -0XCDF 01A 0XEC. -01 986,012 0688D. -0X48a 2e5 0x2. 下列四个选项中,均是不合法的浮点数的选项是()A.160.0.12 e3 B. 123 2e4.2 .e5 C.18 0.0 123e4D. e3. 234 1e33. 合法的C语言字符常数是()A.'\t' B. "A" C.54 D. A4. 在C语言中,要求运算数一定是整型的运算符是()A./ B. ++ C.!= D. %5. 字符串常量”mine”的字符个数是()A.4 B. 5 C.6 D. 76. 以下属于非法的C语言转义字符的是()A.'\b' B. '0xf' C.'\037' D. '\'7. 若x、y、z均为int型变量,则执行以下语句后的输出是()x=(y=(z=10)+5)-5;printf("x=%d,y=%d,z=%d\n",x,y,z);y=(z=x=0,x+10);printf("x=%d,y=%d,z=%d\n",x,y,z);A. x=10,y=15,z=10B. x=10,y=10,z=10x=0, y=10, z=0 x=0, y=10, z=0C. x=10, y=15, z=10D. x=10,y=10,z=10x=10, y=10, z=0 x=10,y=10,z=08. 在以下一组运算符中,优先级最高的运算符是()A.<=B. = C.% D. &&9. 已知:int x; float y; 所用的scanf调用语句格式为:scanf( “x=%d, y=%f”, &x, &y );为了将数据10和66.6分别赋给x和y,正确的输入应当是()A.x=10, y=66.6<回车> B. 10, 66.6<回车>C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车>10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()(注:□表示空格,<CR>表示回车)int a1, a2,;char c1, c2;scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );A.10□A□20B<CR> B. 10□A□20□B<CR> C.10A20B<CR> D. 10A20□B<CR> 11. 能正确表达:“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A.(x>=1) &&(x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)D. (x>=1) || (x<=10)&&(x>=200) || (x<=210)12. 假定所有变量均已正确说明,下列程序段运行后x的值是()a=b=c=0; x=35;if(!a) x--;else if (b);if(c) x=3;else x=4;A.34 B. 4 C.35 D. 313. 若变量c为char类型,能正确判断出c为大写字母的表达式是()A.'A'<=c<= 'Z' B. (c>= 'A')||(c<= 'Z') C.('A'<=c)and ('Z'>=c) D. (c>= 'A')&&(c<= 'Z') 14. 若给定条件表达式:(!n) ? (c++) : (c--),则与表达式n等价的表达式是()A.n==0 B. n==1 C.n!=0 D. n!=115. 已知:int a=4, b=5, c; 则执行表达式c=a=a>b后变量a的值为()A.0 B. 1 C.4 D. 516. 定义int i=1; 执行语句while(i++<5); 后,i的值是()A.3 B. 4 C.5 D. 617. 合法的数组说明是()A.int a[] = “string”;B.int a[] = { 0, 1, 2, 3, 4, 5 };C.char a = “string”;D.char a[] = { 0, 1, 2, 3, 4, 5 }; 18. 当调用函数时,实参是一个数组名,则向函数传送的是()A.数组的长度 B. 数组的首地址C.数组每一个元素的地址D. 数组每个元素中的值19. 函数调用:strcat(strcpy(str1,str2),str3)的功能是()A.将串str1复制到串str2中后再连接到串str3之后B. 将串str1连接到串str2之后再复制到串str3之后C.将串str2复制到串str1中后再将串str3连接到串str1之后D. 将串str2连接到串str1之后再将串str1复制到串str3中20. 已知:int a[]={1,2,3,4,5,6,7,8,9,10.11.12}, *p=a; 则(*p) 的值是()A.1 B. 2 C.3 D. a二、判断题:(共10题,每题1分,共10分)()1.C语言中能使用关键字作为标识符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,求学生的平均成绩。

相关文档
最新文档