《高级语言程序设计》模拟试题
《高级语言程序设计》模拟试题B卷——参考答案
武汉大学2009-2010学年度第2学期《高级语言程序设计(C语言)》学位考试模拟试卷B卷答案姓名:学号:专业:一.单项选择题:(选择最合适的答案填空,每小题2分,共16分)(D)1、设有变量定义:int m=5,n=3;则执行表达式((m+=2)>=7)||((n-=3)<10)后,m,n的值分别为_____ _。
A.5和0B.5和3C.7和0D.7和3(D)2、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是。
A.w+=-2B. k=(a=2,b=3,a+b)C. a+=a-=(b=4)*(a=3)D. x%(-3) (B)3、下面程序段的运行结果是。
#include <stdio.h>int main ( ){ int a=11,b=10,c=0;a/=b+(b&&c);printf(“%d\n”, a);return 0;}A.0B.1C. 1.1D. 11(C)4、头文件type1.h的内容如下所示:#define N 5#define M1 N*3程序如下:#include “type1.h”#define M2 N*2int main(){ int i;i=M1+M2;printf(“%d\n”,i);return 0;}则上述程序编译后运行的输出结果是:A.10B.20C. 25D. 30(A)5、设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是:A.p=&data.a;B. p=data.a;C. p=&a;D. *p=data.a (C)6、设有如下定义int a[ ]={10,11,12},*p=&a[0];则执行完*p++; *p+=1;后a[0],a[1],a[2]的值依次是。
高级语言程序设计(VB)(模拟试题及答案)
高级语言程序设计VB(模拟试题)答案在后面显示模拟试题一、判断题(如正确打√,否则,打×)1.控制台应用程序至少有一个Main过程。
2. 学校$ 是正确的变量名。
3. 把a, b之中的最大值存放于max,使用的语句为:If a>b Then max=a Else max=b End If4.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为If Asc(ch)>=97 And Asc(ch)<=122 ThenWriteLine (“Yes”)ElseWriteLine(“No”)End If5. 输入结构变量的值就是输入该变量的各个元素的值。
6.若某个模块中以关键字public定义子过程,则只能在该模块中可以调用该过程。
7. 事件是由系统预先设置好或者在程序中由编程者自己设计的,它能够被对象识别的动作。
8.在程序中能像调用普通函数那样显式调用构造函数。
9.在程序运行期间,用户可以用文本框显示信息。
10.从文件取出一组数据以流的方式存放到程序中的变量或数组中称为向流写入数据。
二、单项选择题1.是一种( )程序设计语言。
A. 面向事件B. 面向属性C. 面向对象D. 面向过程2. 执行目标程序时出现的错误称为( ) 错误。
A. 语法或编译B. 运行C. 逻辑D. 计算3. 单精度浮点型数据占用( )个存储字节。
A. 1B. 2C. 4D. 84.下列选项中,把r定义为双精度型变量的是()。
A. r%B. r!C. r#D. r$5.100% 表示100为()型数据。
A. 整B. 单精度浮点C. 货币D. 字符6.设X为整型变量,不能正确表达1< X < 5的逻辑表达式是( )。
A. 1< X <5B. X=2 or X=3 or X=4C. 1<X And X <5D. Not (X<=1) And Not (X>=5)7. 下列程序段的执行后显示的结果是( )。
高级语言程序设计模拟试题及参考答案
高级语言程序设计模拟试题及参考答案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个整数按从大到小的顺序排序输出(要求用指针实现)。
高级语言程序设计考试模拟题
高级语言程序设计考试模拟题一、单项选择题1、以下叙述中正确的是___________A、构成C程序的基本单位是函数B、可以在一个函数中定义另一个函数C、main()函数必须放在其它函数之前D、所有被调用的函数一定要在调用之前进行定义2、设有 int x=11,则表达式 (x++ * 1/3) 的值是__________A、11B、12C、3D、43、有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));,此语句含有__________个实参A、3B、4C、5D、有语法错误4、设有程序段int k=10; while(k=0) k=k-1;则下面描述中正确的是___________A、while循环执行10次B、循环体语句一次也不执行C、循环是无限循环D、循环体语句执行一次5、设有数组定义: char array []="China"; 则数组array所占的存储空间为___________A、4个字节B、5个字节C、6个字节D、7个字节6、下列程序执行后的输出结果是__________void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n", b[0]);}A、6B、7C、8D、97、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是__________A、地址传递B、单向值传递C、由实参传给形参,再由形参传回实参D、传递方式由用户指定8、若有语句:int s[3][3],(*p)[3];p=s; 则对s数组元素的引用形式正确的是__________A、p+1B、*(p+1)C、p[1][2]D、*(p+1)+29、对下面语句描述正确的是:__________double r=99,*p=&r;*p=r;A、以下两处的*p含义相同,都说明给指针变量p赋值B、在"double r=99, *p=&r;"中,把r的地址赋值给了p所指的存储单元C、语句"*p=r;"把变量r的值赋给指针变量pD、语句"*p=r;"取变量r的值放回r中10、在说明语句:int *fun();中,标识符fun代表的是__________A、一个用于指向整型数据的指针变量B、一个用于指向一维数组的行指针C、一个用于指向函数的指针变量D、一个返回值为指针型的函数名11、设有以下说明语句,对它的叙述错误的是__________struct ex{ int x ; float y; char z ;} example;A、struct结构体类型的关键字B、example是结构体类型名C、x,y,z都是结构体成员名D、struct ex是结构体类型12、设有定义 char *p=”\nabc\015def\0”,则printf(“%d\n”,strlen(p))的输出结果是_______________A、 11B、9C、8D、413、设有如下定义:struct ss{ char name[10];int age; char sex;}std[3],*p=std;下面各输入语句中错误的是____________A、scanf(“%d”,&(*p).age);B、scanf(“%s”,&);B、scanf(“%c”,&std[0].sex); D、scanf(“%c”,&(p->sex));14、若有定义char *p,ch;则不能正确赋值的语句组是______________A、p=&ch; scanf(“%c”,p);B、p=(char *) malloc(1); *p=getchar();C、*p=getchar(); p=&ch;D、p=&ch; *p=getchar();15、下面函数st的功能是______________st(char *s){ char *q=s;while(*q!=’\0’) q++;return(q-s);}A、检查字符串中是否含有空字符B、生成一个新的字符串q,字符串q是从字符串s的尾部到头部排列的C、将字符串s中的非空字符的ASCII码值增1D、计算字符串s的长度二、判断对错题1、若变量a是int类型,那么执行语句a=’A’+1.6后,a的值为67 ()2、在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用()3、C语言中的文件包含是不可以嵌套的( )4、数组名代表数组的开始地址,所以数组名可以使用++和--运算符()5、程序段:char *s="abcde"; s+=2; printf("%d",s)的运行结果是字符'c'( )6、结构体的成员也可以是结构体类型()7、设有数组定义int a[][4]={0,0};则数组的行数为1 ()8、在C程序中局部变量不能与全局变量同名()9、C语言规定,函数返回值的类型是由return语句中表达式类型决定()10、定义char *str=”student”的功能是将”student”赋值给一个字符串变量()三、填空题1、如果a=4,b=3,那么表达式a++>b?a:b的值是____________2、当函数strcmp(s1,s2)的值为一个负整数时,说明字符串s1____________字符串s23、C语言提供的主要预处理功能有______________、文件包含和_______________4、设int a[2][3] = {{2},{3}};则数组元素_____________________的值为35、若有定义: int a[3][2]={2,4,6,8,10,12};,则*(a[1]+1)的值是_________________6、在指针变量中,指向______________的指针变量对于++或--运算是无意义的7、设a=3,b=4,c=5,则逻辑表达式:a || b+c && b==c的值是__________________8、执行完int a[]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2;后,*(p+3)的值是_____________9、语句int (*p)();定义了p是一个______________________四、程序运行结果题1、写出程序的运行结果int d=1;fun(int p){int d=5;d+=p;printf("%d,",d);}main(){int a=3;fun(a);d+=a;printf("%d\n",d);}2、如果运行下面程序输入字符为“T”,写出程序的运行结果是void main(void){char c1;scanf("%c",&c1);c1=(c1>='A'&& c1<='Z')?(c1+32):c1;c1=(c1>='a'&& c1<='z')?(c1-32):c1;printf("%c",c1);}3、写出程序的运行结果main( ){char c[6]="abcd",*p;p=c+4;do{*p=*(p-1);}while(--p!=c);puts(c);}4、若有以下程序:main(int argc,char *argv[]){ while(--argc) printf(“%s”,argv[argc]);printf(“\n”);}该程序经过编译和链接后生成可执行文件s.exe。
高级程序语言设计模拟题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.调用时会出现语法错误。
高级语言程序设计自考题模拟43
高级语言程序设计自考题模拟43(总分:100.00,做题时间:90分钟)一、第Ⅰ部分选择题单项选择题(总题数:15,分数:30.00)1.用户自定义标识符正确的是______(分数:2.00)A.3abB.intC.fa2_a √D.sin(x)解析:2.C语言中,若int类型数据长度为2个字节,则unsigned[int]类型数据的取值范围是______(分数:2.00)A.0至255B.0至65535 √C.-256至255D.-32768至32767解析:[考点] 本题主要考查的知识点为无符号整型数据的数值范围。
整型常量在一般微型机中占用2个字节,不管是十进制、八进制还是十六进制,无符号整型的数值范围都是十进制的0至65535。
3.现要定义一个二维数组c[M][N]来存放字符串“hello”,“addassi”,“deiilaint”,则常量M和N 的合理取值应为______(分数:2.00)A.3,9B.3,10 √C.4,9D.2,10解析:[考点] 本题主要考查的知识点为二维数组的行、列长度。
有三个字符串需要存储,所以M的值为3;N的值应根据最长字符串取值。
4.已知:char *p,*q,选择正确的语句______(分数:2.00)A.p*5B.p/=qC.p+=5 √D.p+=q解析:[考点] 本题主要考查的知识点为指针的运算。
指针p指向字符串的首地址,p+=5是指向字符串中第6个元素。
5.设int a=2,b=5;,结果为0的表达式是______(分数:2.00)A.a%bB.a&b √C.a=bD.a!=b解析:[考点] 本题主要考查的知识点为逻辑运算和位运算。
模运算(%)的对象必须是整型数据,结果是整除后的余数,所以A项中表达式的值为1;C项中表达式的值为5;由于a=2,b=5,则D项中关系表达式a!=b(即2!=5)为真,故此表达式的值为1;而B项中表达式a&b 是将变量a和b按位进行“与”运算,010和101按位与的结果为0,所以此表达式的结果为0。
高级语言程序设计模拟试题5
试题5一、单项选择题:本题共10小题,每小题2分,满分20 分。
1、若有代数式,则不正确的C语言表达式是( C )。
A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*32、下面四个选项中,均是合法转义字符的选项是( B )。
A.‘\’’‘\\’‘\n’B.‘\’‘\017’‘\”’C.‘\018’‘\f’‘xab’D.‘\\0’‘\101’‘x1f’3、下列符号串中,不属于C语言保留字的是( B )。
A.if B.then C.static D.for4、下列叙述中错误的是( D )。
A.计算机不能直接执行用C语言编写的源程序B.C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C.后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D.后缀为.obj和.exe的二进制文件都可以直接运行5、设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( B )。
A.n=(n*100+0.5)/100.0 B.m=n*100-0.5, n=m/100.0C.n=n*100-0.5/100.0 D.n=(n/100+0.5)*100.06、已有定义int a=-2;和输出语句printf(“%8lx”, a);以下正确的叙述是( D )。
A.整型变量的输出格式符只有%d一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度7、设有int a=1,b=2, c=3, d=4, m=2, n=2; 执行(m=a>b) && (n=c>d)后n的值为( B )。
A.1 B.2 C.3 D.48、以下能对二维数组a进行正确初始化的语句是( B )。
高级语言程序设计自考模拟试题及答案解析(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)单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。
高级语言程序设计模拟题
高级语言程序设计模拟题一、选择题1. 下面哪个是合法的标识符()。
A、3thB、_2fC、$25D、for2. 与m=n+++k完全等价的表达式是()。
A、n=n+1,m=n+kB、m+=n+1, m=m+kC、m=++n+kD、m=n+k,n=n+13.已知:char w;int x;float y;double z;则表达式w*x+z-y的结果为()类型。
A、floatB、charC、intD、double4.下列可以正确表示字符型常数的是()。
A、 "a"B、’\t’C、"\n"D、2975. 已知:int a,b;使用语句:scanf(“%d%d”,&a,&b);输入a、b的值时,不能用作为输入分隔符的是()。
A、,B、空格C、回车D、Tab6.下列运算符的操作数必须是int型的运算是()。
•••A、 % B、 / C、―― D、++7. 若int a[3][4];则数组元素的非法引用是()。
A、a[0][2*1]B、a[1][3]C、a[4-2][0]D、a[0][4]8. 字符数组定义如下:char a[]={‘H’,‘E’,‘L’,‘L’,‘O’};下面输出语句正确的是()。
A、printf(“%s”,a);B、printf(“%c”,a)C、printf(“%d”,&a);D、for(i=0;i<5;i++) printf(“%c”,a[i])9. 若a、b均为int型变量且a=100,则对以下for循环语句的正确判断是()。
for (b=100; a!=b; ++a,b++)printf ("----\n");A、循环体只执行一次B、是死循环C、循环体一次也不执行D、输出----10.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是()。
A、地址传递B、值传递C、由实参传给形参,再由形参传给实参D、由用户指定传递方式11. 若有定义:int *p[3];,则以下叙述中正确的是()。
《高级语言程序设计》测试题
《高级语言程序设计》一、判断题(错误的在后面写“F”,正确的写“T”,每题1分)1. 程序是描述算法的编程工具。
2. 化将函数模板与某个具体数据类型连用,就产生了模板函数,称这个过程为函数模板实例化。
3. C++语言中,用来为对象初始化的特殊成员函数称为构造函数;用于在对象撤销时执行一些清理任务的特殊成员函数称为析构函数。
4. 逐条翻译并执行的翻译程序称为编译程序5. 把所有类组织在一个树形结构中,这时所有类,不管它们之间的差别有多大,都有一个共同的相关类,这种结构被称为类树。
类群是由一些彼此密切相关的类和类族组成的。
6. 如果在定义一个类时,该类继承了多个基类的特征,那么这个继承关系称为多重继承。
7. 不同对象可以调用相同名称的函数,并可导致完全相同的行为的现象称为多态性。
8.形式参数表是用括号分隔的变量说明列表,变量称为函数的形式参数,有时也简称为形参。
9..在C++语言中,只要在声明函数原型时形式参数的个数或者对应的类型不同,两个或更多的函数就可以共用同一个名字。
这种在同一作用域中允许多个函数使用同一函数名的措施被称为重载。
9.C++的作用域分辨:可以迫使编译器“看到”当前作用域的外层部分,存取那些被隐藏的名字。
这是由作用域分辨操作符实现的,这一过程叫做作用域分辨。
11.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。
12.所有的表达式都有值。
13.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
14.类的静态数据成员需要在定义每个类的对象时进行初始化。
15.基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。
16.当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。
17.当函数的返回值是数组类型的,传递的是数组第一个元素的地址。
高级语言程序设计模拟试卷(答案全面)
自考课程综合测验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二、多项选择题(在每小题的五个备选答案中,选出二至五个正确答案,并将其代码填写在题干后的括号内;错选、多选不得分。
高级语言程序设计I模拟试卷1 2
2010~2011学年度第2学期《高级语言程序设计I》期末考试模拟试题一、选择题1、执行下面的程序段后,变量k中的值为( A )。
A) 不定值B) 33 C) 30 D) 10int k=3, s[2];s[0]=k; k=s[1]*10;(2000年4月)2、设有数组定义: char array [ ]="China"; 则数组array所占的空间为( C )。
A) 4个字节B) 5个字节C) 6个字节D) 7个字节(2000年4月)3、下列程序执行后的输出结果是( A )。
A) you&ne B) you C) me D) errmain(){ char arr[2][4];strcpy(arr,"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s \n",arr);}(2000年4月)4、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是( D )。
A) 123,456,789 B) 1,456,789C) 1,23,456,789 D) 1,23,456main(){ char s[100]; int c, i;scanf("%c",&c); scanf("%d",&i); scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}(2000年4月)5、有如下程序main(){ int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf(“%d\n”,n[k]);}该程序的输出结果是( D )。
高级语言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. 以下哪个是高级语言程序设计的特点?A. 与机器语言紧密相关B. 依赖于特定的计算机硬件C. 易于学习和使用D. 执行速度极快2. 在高级语言程序设计中,以下哪个概念不属于面向对象编程?A. 类B. 对象C. 继承D. 过程3. 在使用高级语言编写程序时,以下哪种情况不会发生?A. 编译错误B. 运行时错误C. 逻辑错误D. 硬件故障4. 以下哪个选项不是高级语言程序设计中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 并行结构5. 在高级语言程序设计中,以下哪个是数组的特点?A. 存储空间连续B. 存储空间分散C. 元素类型不固定D. 元素数量不固定二、简答题1. 简述高级语言与低级语言的区别。
2. 解释面向对象编程的三个基本特征,并给出一个简单的例子。
3. 描述高级语言程序设计中的异常处理机制。
4. 什么是函数重载和函数覆盖?它们在程序设计中有什么作用?5. 描述循环结构在程序设计中的重要性及其应用场景。
三、编程题1. 编写一个函数,实现对一个整数数组的排序。
2. 编写一个程序,实现简单的学生信息管理系统,包括学生信息的添加、删除、查询和修改功能。
3. 编写一个程序,实现对文本文件的读取,并统计文件中每个单词出现的次数。
4. 编写一个程序,实现一个简单的计算器,可以进行加、减、乘、除等基本运算。
5. 编写一个程序,实现一个简单的文本编辑器,可以进行文本的输入、保存和读取。
四、案例分析题1. 分析以下程序段的逻辑错误,并给出修正方案:```cint sum = 0;for (int i = 1; i <= 10; i++) {sum += i * 2;}printf("The sum is: %d\n", sum);```2. 给出一个面向对象设计的例子,说明如何使用类和对象来解决实际问题。
3. 分析以下程序段的性能问题,并提出优化建议:```pythondef factorial(n):if n == 0:return 1else:return n * factorial(n - 1)```4. 描述在程序设计中使用递归的优缺点,并给出一个使用递归解决问题的例子。
高级语言程序设计练习题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 )。
高级语言程序设计模拟试题6
试题6一、单项选择题(本题共10小题,每小题2分,满分20分)1. 下列运算符中,结合方向为“自右至左”的是:[D ]A. 算术运算符 + - * /B.左移运算符 <<C. 赋值运算符=D. 关系运算符 <<= >>=2. 用以下语句从键盘接收两个整型值并赋值给整型变量a,b:scanf(“%d,%d”,&a,&b),则以下输入正确的是:BA. 5,6(回车)B.5(空格)6(回车)C. 5(回车)6 (回车)D. 5(空格)6(空格)3. 以下程序的输出结果是:main( ){ int a=7,b=5;printf(“%d\n”,b=b/a);}DA. 不确定值B. 5C. 1D. 04. 以下程序的输出结果是:Cmain(){ char s1[20]=“China”,s2[20]=“for”,s[10];if(strcmp(s1,s2)) printf(“%s\n”, strcat(s2,s1));else printf(“%d\n”,strlen(s1));}A. ChinaforB.5 C.forChina D. 35. C语言中函数调用的方式有:DA. 函数调用作为语句1种B. 函数调用作为函数表达式1种C. 函数调用作为语句或函数表达式2种D.函数调用作为语句、函数表达式或函数参数3种6.已知职工记录描述如下,设变量w中的“生日”是“1993年10月25日”,下列对“生日”的正确赋值方式是:Dstruct worker{ int no; char name[20]; char sex;structbirth{ int day; int month; int year;}a;};struct worker w;A. day=25; month=10; year=1993;B. w.birth.day=25; w.birth.month=10;w.birth.year=1993;C. w.day=25; w.month=10; w.year=1993;D. w.a.day=25; w.a.month=10; w.a.year=1993;7. 若有下面的变量定义,以下语句中合法的是:Aint i,a[10],*p;A. p=a+2;B. p=a[5];C.p=a[2]+2; D. p=&(i+2);8. 以下程序的输出结果为:Bmain( ){ int i=010,j=10,*pi,*pj;pi=&i; pj=&j;printf("%d,%d\n",*pi,*pj);}A. 10,10B. 8,10C.010,10D. 8,89. 要打开一个已存在的非空文本文件"file"用于修改,选择正确的语句:CA. fp=fopen("file","r");B.fp=fopen("file","w");C. fp=fopen("file","r+");D. fp=fopen("file","w+");10. 以下的 for 循环 for(x=0,y=0;(y!=123)&&(x<4);x++);中,x++执行的次数:BA. 执行 3 次B. 执行 4 次C. 循环次数不定D. 是无限循环二、填空题(本题共10小题,每题2分,满分20 分)1. C语言表达式 5>2>7>8 的值是___0____________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14.有一个一维数组score,内放10个学生成绩,编写完成ave函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。
#include<stdio.h>
int main()
for(i=0;i<11;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void fun(int a[],int t)
{
}
11.编写一个判断素数的函数,在主函数输入一个整数,是素数时输出yes,否则输出no,结果要求在主函数中输出。
12.编写一个函数,将一个字符串中的原音字母赋值到另一个字符串中,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。
}
aver_stu();
aver_cour();
return 0;
}
void aver_stu()//计算并输出每个学生的平均成绩
{
}
void aver_cour() //计算4门课程平均成绩的函数
{
}
27.编写完成fun函数实现将一行字符串中的最长的单词输出。此行字符串从主函数传递给该函数。
#include<stdio.h>
要求:输入和输出都要在主函数中实现。
如:输入第一个数组内容为:1 2 3 4 5,第二个数组内容为:2 4 6 8 10 12 14 16 18 20,输出分别为3和11。
8.编写一个函数,实现将两个字符串连接起来,并在main函数中调用此函数,不要调用系统提供的strcat函数。(两个字符串长度之和不超过100)
gets(d);
printf("出现的次数为:%d\n",retu(c,d));
return 0;
}
int retu(char a[],char b[])
{
}
16.编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。如:输入“I am a student!”,输出“Iamastudent!”,要求用指针实现。
如:输入A123x45617960? 302tab5876,输出为共有5个整数,分别为123,456,17960,302,5876。
22.有一篇文章,共有4行文章,每行有10个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。(要求用指针实现)
23.编程实现从键盘输入任意十个字符串,找出并显示最长的那个字符串。(要求用指针知识实现)
6.写一个函数,完成将任意一个数组中的值按逆序重新存放。(数组长度不超过6位)
要求:数组内容的输入和重新存放后的输出都要在主函数中实现。
如:输入内容为5个整数,分别为8 6 5 4 1,重新存放后输出为:theresult is1,4,5,6,8。
7.编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。
struct Student stu[N],*p=stu;
input(p);
print(max(p));
return 0;
}
void input(struct Student stu[])
{
int i;
printf("请输入各个学生的信息:学号、姓名、三门课成绩:\n");
for(i=0;i<N;i++)
如:第一个字符串为sdjfzhyishgzhyzhyiswzxmt,第二个字符串为zhy,输出结果为:3
#include<stdio.h>
#include<string.h>
int main()
{
int retu(char a[],char b[]);
char c[200],d[100];
gets(c);
char b[50];
int main()
{
char a[50];
void fun(char a[]);
gets(a);
fun(a);
return 0;
}
void fun(char a[])
{
}
28.有3个学生,各学4门课程,输出总平均分数以及第n个学生的所有成绩。(要求定义两个函数分别实现上述功能,用指针作为函数参数)
24.编写完成fun函数实现如下功能:从键盘输入任意一个正整数,求出它的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回。(自定义函数void fun(int x,int * pp,int *n))。
#include<stdio.h>
int main()
{
void fun (int x,int *pp, int *n);
1.输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。
如:输入36和60,输出为:zdgys=12,zxgbs=180
2.输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。
3.用递归调用的方法求n!。
如:输入为5,输出为5!=120。
4.按以下递归公式求函数的值。
如输入1979 4 4,输出第94天,输入2000 4 4,输出第95天。
31.设计候选人得票统计程序,要求有4个侯选人(分别是Zhang、Wang、Li、Zhao),选民(10名选民参与投票)每次输入一个被选人的姓名,最后统计出各人的得票结果。
32.定义一个包括学号、姓名、成绩的学生结构体,要求实现输入3个学生信息的输入后,按照成绩的高低顺序输出各学生的信息。
33.有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求完成max函数和print函数,找到并输出平均成绩最高分的学生的信息(包括学号、姓名、3门课程成绩、平均分数)(用结构体知识)。
#include<stdio.h>
#define N 3
struct Student
17.用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。
18.用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。
19.编写一个函数实现字符串复制功能,不能使用strcpy函数,并在main函数中调用,输入字符串和输出赋值完后字符串的结果都在主函数中实现。(要求用指针作为函数参数)
{
int num;
char name[20];
float score[3];
float aver;
}uct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu);
#include<stdio.h>
int main()
{
void average(int *);
void fun_n(int (*n)[4]);
int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};
average(*score);
fun_n(score);
int x, a[100],*pp=a,n;
scanf("%d",&x);
fun(x,pp,&n);
return 0;
}
void fun (int x,int *pp, int *n)
{
}
25.编写一个函数,实现求出一个二维数组中的鞍点,并在main函数中调用此函数,二维数组中数据输入和鞍点数据输出都在主函数中实现。(鞍点是指某个数在该行上最大,同时在该列上最小)
}
}
struct Student max(struct Student stu[])
{
}
void print(struct Student stu)
{
}
34.学生记录由学号和成绩组成,N名学生的数据已经在主函数中放入结构体数组,编写完成fun函数,把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n返回,平均分通过函数值返回。
#include<stdio.h>
int a[11]={1,3,5,7,14,23,45,87,155,231};
int main()
{
int c,i;
void fun(int a[],int c);
printf("input an integer:");
scanf("%d",&c);
fun(a,c);
{case 0:printf("第一个字符串大\n");break;
case 1:printf("第二个字符串大\n");break;
default:printf("两个字符串相等\n");
}
return 0;
}
10.编写一个函数,实现在一个升序排列的整型数组{1,3,5,7,14,23,45,87,155,231};中插入任意一个整数的功能,保持整型数组仍然升序排列,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。
{
void ave(int a[10]);
int a[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);