• 回答数

    5

  • 浏览数

    178

xyz小鱼子
首页 > 自考本科 > c语言自考本科真题

5个回答 默认排序
  • 默认排序
  • 按时间排序

春雨蒙蒙a2015

已采纳

1. B!C就是0;&&语句j=!c已经为零,即真值已经为负,则后面i++不执行。故i=1,j=0;2.C 先看*说明s是指针,再看STRING说明s指向的是一个字符型数组。3.D.int a=4,*p=&a。 这个要怎么解释啊?*其实是告诉p是指针,应该理解为(int*)p,故a要加上取地址符。4.选项看不懂。能排过版吗?5.C(.的优先级比*高)6.B.元素a[0]的地址 .即为p=a,数组名即为数组首地址,就是a[0]地址。7. 1 a

157 评论

小若冰MM

现在刚改版,无。可以在网上下模拟试题。

313 评论

机智小百合

自考“C语言程序设计”模拟试题一 2008-1-3相关自考频道点评提问自考网上培训自考“C语言程序设计”模拟试题一一、填空题 1、C语言中基本的数据类型有:______、______ 、______ .2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .3、整数-35在机内的补码表示为______.4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是______.5、有如下语句:char A[ ]={“I am a student”}; 该字符串的长度是______,A[3]=______.6、符号“a”和‘a’的区别是______.7、所谓“指针”就是______.“&”运算符的作用是______.“*”运算符的作用是______.8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______.二、选择题1、设整型变量a为5,使b不为2的表达式是( )。A. b=a/2 B. b=6-(——a) C. b=a%2 D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。A. 缩排位置相同的if B. 在其之前未配对的ifC. 在其之前未配对的最近的if D.同一行上的if3、以下程序的输出结果是( )。int x=10,y=10;printf(“%d %d\n”,x——,——y);A. 10 10 B. 9 9 C. 9 10 D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i5、选出下列标识符中不是合法的标识符的是( )。A. hot_do B. cat1 C. _pri D. 2ab6、以下程序的输出结果是( )。int a=5;float x=3.14;a*=x*(‘E’ - ‘A’);printf(“%f\n”,(float)a);A. 62.000000 B. 62.800000 C. 63.000000 D. 627、设有说明double(*p1)[N];其中标识符p1是( )。A. N个指向double型变量的指针。B. 指向N个double型变量的函数指针。C. 一个指向由N个double型元素组成的一维数组的指针。D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。8、在C程序中有如下语句:char *func(int x,int y);它是( )。A. 对函数func的定义。 B. 对函数func的调用。C.对函数func的原型说明。 D. 不合法的。9、以下程序的输出结果是( )。char str[15]=“hello!”;printf(“%d\n”,strlen(str));A. 15 B. 14 C. 7 D. 610、分析以下程序的输出结果是( )。main(){int a=5,b=-1,c;c=adds(a,b);printf(“%d”,c);c=adds(a,b);printf(“%d\n”,c); }int adds(int x,int y){static int m=0,n=3;n*=++m;m=n%x+y++;return(m); }A. 2,3 B. 2,2 C. 3,2 D. 2,411、下列描述中不正确的是( )。A. 字符型数组中可能存放字符串。B. 可以对字符型数组进行整体输入、输出。C. 可以对整型数组进行整体输入、输出。D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。12、以下程序的输出结果是( )。#define f(x) x*xmain(){int a=6,b=2,c;c=f(a)/f(b);printf(“%d\n”,c);}A. 9 B. 6 C. 36 D. 1813、设有如下定义: int x=10,y=3,z;则语句printf(“%d\n”,z=(x%y,x/y)); 的输出结果是( )。A. 1 B. 0 C. 4 D. 314、定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则语句for(i=0;i<3;i++) printf(“%d ”,x[i][2-i]); 的输出结果是( )。A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 915、以下对二维数组a进行正确初始化的是( )A. int a[2][3]={{1,2},{3,4},{5,6}}; B. int a[ ][3]={1,2,3,4,5,6};C. int a[2][ ]={1,2,3,4,5,6}; D. int a[2][ ]={{1,2},{3,4}};16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。int x;scanf(“%d”,&x);if(x++>5) printf(“%d”,x);else printf(“%d\n”,x - -);A. 7和5 B. 6和3 C. 7和4 D. 6和417、设有如下定义: char *aa[2]={“abcd”,“ABCD”}; 则以下说法中正确的是( )。A)aa数组成元素的值分别是“abcd”和ABCD“B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址18、下列程序的输出结果是( )。char *p1=“abcd”, *p2=“ABCD”, str[50]=“xyz”;strcpy(str+2,strcat(p1+2,p2+1));printf(“%s”,str);A. xyabcAB B. abcABz C. ABabcz D. xycdBCD19、下列程序的输出结果是( )。int a[5]={2,4,6,8,10},*P,* *k;p=a; k=&p;printf(“%d”,*(p++));printf(“%d\n”,* *k);A. 4 4 B. 2 2 C. 2 4 D. 4 620、不能把字符串:Hello!赋给数组b的语句是( )。A. char b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};B. char b[10]; b=“Hello!”;C. char b[10]; strcpy(b,“Hello!”);D. char b[10]=“Hello!”; 三、读程序题1、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是 .2、int x=6, y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是 .3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是.4、for (a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1){b+=3; continue;}b-=5; }程序的输出结果a的值为 .5、int y=1, x, *p, a[ ]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf(“%d\n”,y);程序的输出结果y的值是 .四、程序填空题1、从键盘上输入10个数,求其平均值。main(){int i;float f,sum;for(i=1,sum=0.0;i<11;i++){ ;; }printf(“average=%f\n”,sum/10); }2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#include main(){ FILE *fp;char c;fp= ;do{c=getchar();fputs(c,fp);}while(c!=EOF);}3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。main(){ float x,amax,amin;scanf(“%f”,&x);amax=x; amin=x;while( ){ if(x>amax) amax=x;if( ) amin=x;scanf(“%f”,&x); }printf(“\namax=%f\namin=%f\n”,amax,amin); }五、编程题1. 三个整数a、b、c,由键盘输入,输出其中最大的一个数。2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0.A的值由主函数从键盘读入。4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案一、填空题(1)整型、实型、字符型。(2)int,2,-32768~ +32767(3)1111111111011101(4)- 112(5)14,‘m’(6)“a”是字符串常量,而‘a’是字符常量。(7)存放地址值的变量或常量,或者答地址。(8)取运算对象的地址。 取指针变量所指的内容。a=1,b=3,c=2二、选择题1、C 2、C 3、D 4、B 5、D6、A 7、C 8、C 9、D 10、A11、C 12、C 13、D 14、C 15、B16、C 17、D 18、D 19、C 20、B三、阅读程序题(1) 3.141593,3.1416,3.142(2) 6,8(3) 4(4) 22(5) 19四、程序填空题1、scanf(“%f”,&f); sum+=f;2、fopen(“myfile”,w) fclose(fp);3、x>=0.0 x<=amin五、编程题1、main(){int a,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(a if(b else printf(“max=%d\n”,b);else if(a else printf(“max=%d\n”,a);}2、#include“stdio.h”main(){int I,n;for(n=0,I=1900;I<=2000;I++){if(I%4==0&&I0!=0||I@0==0){printf(“%d ”,I);n++;}if(n%3==0)printf(“\n”);} } }3、#include“stdio.h”int fun(int a){int I;if(a==2) return 1; I=2;while((a%I)!=0&&I<=sqrt((float)a))I++;if(a%I==0){printf(“%d is not a prime!”,a);return 0;}printf(“%d is a prime!”,a);return 1; }main(){int x;printf(“\n please enter a number:”);scanf(“%d”,&x);printf(“%d\n”,fun(x)); }4、#include“stdio.h”#define N 3struct student{long stu_num; char sex;char name[15]; int score[4];float average; };main(){int I,j,index; float sum,max;struct student stuarr[N];for(I=0;I {printf(“please input %d student information:\n”,I+1);scanf(“%ld,%c,%s”,&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf(“%d”,&stuarr[I].score[j]); }for(I=0;I {sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0;}max=stuarr[0].average;index=0;for(I=1;I if(stuarr[I].average>max){max=stuarr[I].average;index=I; }printf(“总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n”,stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}

148 评论

蓝梦蝶朵丽卡

11D;14A;15D;16D;17C;18B;19D;20C;23:0;24p=&a[8];2511;29无返回值;30rb+;31s=532101013320,40,30,6034Lilei402000.00000035:141516(此踢要注意空格每个数字前面都有两个空格的)39#includemain(){inti,j;for(i=9;i>=1;i=i-2){for(j=0;jmain(){intyear,i,j;printf("Inputtheyear:");scanf("%d",&year);i=year%4;j=year%400;if(i==0&&j!=0)printf("yes!");else("No!");}41#includevoidchange(double*a,double*b);main(){doublex,y;printf("Inputxandy:");scanf("%d%d",&x,&y);change(&x,&y);printf("%d%d",x,y);}voidchange(double*a,double*b){doubletemp;temp=*a;*a=*b;*b=temp;}上面的都是自己作的,或许有不对的地方还请指教要是有什么不懂的可以给我留言~~再有就是关于23题,我是按10<3+1这个表达式做的我觉的你可能是写错了要是按你写的我在电脑上面试了一下输出的是160~~~呵呵

226 评论

吃是王道呼

全国2 0 1 3年1 0月高等教育自学考试 C++程序设计试题 课程代码:04737 请考生按规定用笔将所有试题的答案涂、写在答题纸上。 选择题部分 注意事项: 1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。 2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。 1.下列不属于C++关键字的是 A. extern B.goto C.free D.default 2.C++中定义标准输入的库为 A.stdio B.math C.istream D.stdlib 3.My是一个类,则执行语句My a[3],*[2];之后,自动调用构造函数次数为 A.2 B.3 C.4 D.5 4.下列语句错误的是 A. int val( 20); B.extern int val( 20); C. const int val; D.extern const int val; 5.下列说法中,有关构造函数是正确的是 A.任何一类必定有构造函数 B.可定义没有构造函数的类 C.构造函数不能重载 D.任何一类必定有缺省的构造函数 6.下面关于类和对象说法不正确是 A.类由数据与函数组成 B.一个对象必属于某个类 C.对象是类的实例 D.一个类的对象只有一个 7.下面选项中不是类成员函数的是 A.构造函数 B.析构函数 C.友元函数 D.静态函数 8.在C++中类之间的继承关系具有 A.自反性 B.对称性 C.传递性 D.反对称性 9.C++中类的成员默认为 A. public B.private C.protected D.static 10.C++中要实现动态联编,调用虚函数时必须使用 A.基类指针 B.类名 C.派生类指针 D.对象名 11.下面对析构函数的正确描述是 A.系统不能提供默认的析构函数 B.析构函数必须由用户定义 C.析构函数没有参数 D.析构函数可以设置默认参数 12.在下面的二维数定义正确的是 A.int ary[5][ ]; B.int ary[ ][5]={{0,1,2}}; C.int ary[ ][5]; D.int ary[5,5]; 13.以下说法中正确的是 A.C++程序总是从第一个定义的函数开始执行 B.C++程序总是从main函数开始执行 C.C++中函数必须有返回值 D.C++中函数名必须 14.对C++中主函数描述正确的是 A.名称为main,可为多个 B.名称不限,可为多个 C.名称为main,必须有且只能有—个 D.名称不限,必须有且只能有—个 15.下面声明纯虚函数语句正确的是 A. void fun( ) =0; B.virtual void fun( )=0; C. virtual voicl fun( ); D.virtual void fun( ){ }; 16.对于拷贝构造函数和赋值操作的关系,正确的描述是 A.拷贝构造函数和赋值操作是完全一样的操作 B.进行赋值操作时,不会调用类的构造函数 C.当调用拷贝构造函数时,类的对象正在被建立并被初始化 D.拷贝构造函数和赋值操作不能在同一个类中被同时定义 17.使用重载函数的目的是 A.共享函数数据 B.减少代码量 C.优化运行效率 D.提高可读性 18.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是 A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念 19.假定有“char * p="Hello";”,若要输出这个字符串的地址值正确的写法为 A. cout<<*p; B.cout< FONT> C. cout<<&p; D.cout<<(void*)p; 20.从本质上看,引用变量是被引用变量的 A.拷贝 B.别名 C.复制 D.克隆 非选择题部分 注意事项: 用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。 二、填空题(本大题共20小题,每小题1分,共20分) 21.C++程序的编译是以_____为单位进行的。 22.C++语言支持的两种多态性分别是编译时的多态性和____的多态性。 23.重载的运算符保持其原有的操作符个数、_____和结合性不变。 24.在C++中,函数的参数有两种传递方式,它们分别是值传递和____ 。 25.含有_____的类称为抽象类。 26.C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和_____。 27.对于无返回值函数,定义函数时要用_____修饰函数类型。 28.定义重载函数必须在参数的个数或参数的_____上与其它同名函数不同。 29.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数 的工作方法是_____。 30.以面向对象方法构造的系统,其基本单位是_____。 31.C++中定义友元函数使用的关键字为____ 。 32.当一个成员函数被调用时,该成员函数的____ 指向调用它的对象。 33.类可将实现细节隐藏起来,这种机制称为____ 。 34.在面向对象的程序设计中,通过封装实现数据隐藏;通过_____实现代码的复用。 35.在公有继承的中基类数据成员在派生类中的访问权限____ 。 36.复杂对象可以由简单对象构成,这种现象称为____ 。 37.如有“char * p="Hello";”,则语句“cout<<*(p+1);”输出值是_____。 38.基类和派生类的关系称为_____。 39.C++对其对象的数据成员和成员函数的访问是通过_____来限制的。 40.假定x =10,则表达式x< =10? 20:30的值为_____ 。 三、改错题(本大题共5小题,每小题4分,共20分) 下面的每题中有一处错误,请在“答题纸”上将错误所在行写出并给出修改意见。 41. #include class point{ private: float x,y; public: point( float a,float b){x=a;y=b;} void f(){x=0;y =0;} void getx(){cout<< FONT> void gety(){cout<< FONT> } ; main( ) { point a(3.5); a.getx( ); } 42. #include iostream. h > main( ) { int x =7; const int *p = &x; *p =99; cout << *p << endl; } 43. #include iostream. h > class test{ private: int x;y; public: voicl f( int a,int b) { x = a;y = b; } int max( ) { return(x > y) ? x:y; } }; main( ) { test a; a. f( 1 ,3) ; cout << a. max( ) << endl; } 44. #include class test{ private: int x; public:test(int a) { x = a; } void set(int a) { x = a;} void get( ) { cout << x << endl; } }; class testl: public test{ private: int x; public :testl ( int a) { x = a; } void set( int a) { x = a;} void get( ) { cout <<′′<< endl; } }; 45. #include iostream. h > class f{ private: int x,y; public: fl ( int a,int b) { x = a;y = b; } void print( ) { cout << x << --<< y << endl; } }; main( ) { f a; float x = 1.0,y = 2. 0; a. fl ( x,y) ; a. print( ) ; } 四、完成程序题(本大题共5小题,每题4分,共20分) 46.在答题纸上填上缺少的部分。源程序如下: #include using namespace std; class base { int a,b; public: base( int x,int y){a=x;b=y;} void show( ) { cout<<< SPAN>″, ″<< SPAN> } } void main( ) { base b(78,87); b.show(b); } 47.在答题纸上填上缺少的部分。源程序如下: #include #include using namespace std; void main( ) { myf("ab. txt");//定义输出流文件,并初始化 << "This ia a TXT file";//向文件输入字符串 myf. close ( ); } 48.在下面程序中的答题纸上填上适当的程序,使程序的输出结果如下: 67 ,90 源程序如下: #include using namespace std; class base { pnvate: int x,y; priblic: void initxy( int a,int b){x=a;y=b;} void show( base*p); } ; inline void base::show( ) { cout< p- >x<<"" } void print( base*p) { p -> show(p); } void main() { base a; a.initxy(67 ,90); print( ); } 49.下面程序给出了一个从普通的基类派生出一个模板类的方法,在答题纸上填上缺少的 部分。 #include using namespace std; class Base { public: Base(int a){x=a;} int Getx(){return x; void showb(){cout<< FONT> private: int x; }; template class derived: public Base { public: derived(T a,int b):____ {y=a;} T Gety( ){return y;} void showd( ){cout<<<" FONT ?<<< endl;}> private:} ; void main ( ) { Base A(458); A.showb ( ); derived char * >B ("It is" ,1357); B.showd ( ); } 50.下面程序的运行结果如下: 20,22 60,22 在答题纸上填上缺少的部分。源程序如下: #include iostream > using namespace std; class base { private: const int a; static const int b; public: base( int); void Show(); }; =22; : a (i){ } //初始化 void base : :Show( ) {cout<<<","<< FONT> void main ( ) { base al (20) ,a2 (60); al. Show ( ); a2. Show ( ); } 五、程序分析题(本大题共2小题,每小题5分,共10分) 51.给出下面程序的输出结果 #include using namespace std; class base { int x; public: void setx( int a){x=a;} int getx ( ){return x;} } ; void main ( ) { int*p; base a; a.setx (15); p= new int (a. getx( )); cout < < * p; } 52.给出下面程序的输出结果 #include iostream > using namespace std; class base { private: int x; public: void setx (int a){x=a;} int getx ( ){return x;} } ; void main ( ) { base a,b; a.setx (89); b =a; cout < < a.getx ( ) < < endl; cout < < b.getx ( ) < < endl; } 六、程序设计题(本大题共10分) 53.在字符串类string中实现一个判断函数,该函数功能是统计某一字符串类对象(仅有单词和空格组成)有多少个单词,同时保存所有单词在字符串中的起始地址(设该字符串不超过100个单词) #include iostream. h > #include string > class str{ string s; int n,a [ 100 ],j ,1; public:str ( string&a){s=a;n=0;j=0;l=0;} ....test (....); int * geta ( ){ return a;} } ; 请写出test函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)

251 评论

相关问答

  • c自考2019真题

    2020年自考备考已经开始,自考历年真题对考生来说是十分宝贵的资料,考前每道真题至少要做1-2遍才会事半功倍。网给大家整理了 2019年4月自考思想道德修养与法

    花花only 3人参与回答 2024-05-15
  • C自考2020真题

    自考本学前教育原理历年真题如下: 一、单项选择题:本大题共30小题,每小题1分,共30分。 1.学前教育是指(B) A、幼儿园的教育 B、对出生至6、7岁的儿童

    风中传音 3人参与回答 2024-05-15
  • c自考真题

    11D;14A;15D;16D;17C;18B;19D;20C;23:0;24p=&a[8];2511;29无返回值;30rb+;31s=53210101332

    坏坏的小幸福 4人参与回答 2024-05-16
  • c语言程序设计自考真题

    想自考就自学,上面总该有你会的吧,不会的问人!先学做人吧!太懒!

    怪叔叔是绅士 7人参与回答 2024-05-16
  • c语言自考本科

    你好 你需要的答案如下序号 课程代码 课程名称 学分 备注 1 00004 毛泽东思想概论 2 2 00005 马克思主义政治经济学原理

    小雨012345 5人参与回答 2024-05-16