搜档网
当前位置:搜档网 › C 试题 (1)

C 试题 (1)

C  试题 (1)
C  试题 (1)

C++程序设计试题

1、请解释以下定义的对象的区别(10分):

int a=1024; int *p=&a; int *pt=new int(1024); int *pa=new int[1024];

2、以下语句段正确的是 。(5分)

3、写出以下程序的运行结果:a ) b ) c ) (5分)

4、为什么以下重载的fun 函数调用具有二义性?(10分)

5、Tstring 类用于实现对字符串的管理,请完成成员函数的定义。(18分)

class Tstring{

char *str;

int len;

public:

Tstring(const char *ps);

~Tstring( );

Tstring(const Tstring & source);

Tstring& operator=(Tstring& it);

Tstring& operator=(const char * ps);

Tstring& operator+( Tstring& it);//实现字符串连接

};

a) int a; int *pi=&a; void *pv=pi; const int *pci=&a; pv=pci; b) int a; int *pi1=&a; void * pv=pi1; int *pi2=pv; c) int a=6,b=7; const int *pc=&a; pc=&b; b=8; d) int k=10,j;

int *const pic=&k; *pic=8;

pic=&j;

a) void fun(int &x) { x=x+1;} int main( ) { int a=9; fun(a); cout<

cout<

6、有以下类的继承关系和main 函数,请填空。(8分)

int main( )

class A{ int a; public: … virtual void fun1( ); virtual void fun2( ); void fun3( );}; class AB:public A{

int c;

public:

virtual void fun1( );

virtual void fun4( );

void fun3( );};

{ A a1,*pa;

AB ab1;

a1=ab1;

pa=&ab1;

A& ra=ab1;

ra.fun1( ); //此处调用的是类(A或是AB)中定义的fun1函数。

pa->fun3( ); //此处调用的是类(A或是AB)中定义的fun3函数。

a1.fun1( ); //此处调用的是类(A或是AB)中定义的fun1函数。

ab1.fun3( ); //此处调用的是类(A或是AB)中定义的fun3函数。

return 0;}

7、设计二维整型数组类,实现构造函数、析构函数;希望以对象(行下标,列下标)的

形式引用数组元素,完成operator( )运算符重载函数。(12分)

class Intarray{

int* pa;

int size;

public:

Intarray(int row,int Colu);

~ Intarray( );

int& operator( )(int r ,int c) ;

};

8、设计一维数组类模板,完成其成员函数的定义。(18分)

template

class array{

Type* pa;

int size;

public:

array(int maxsiz);

array(array& it);

array& operator= ( array< Type>& rhs);

Type& operator[ ](int index);

Type max( );

~ array( );};

9、设计带异常处理的栈类(stack)的异常类,栈内存放数据为int类型,能处理数据入栈时栈满、数据出栈时栈空异常,请完成其构造函数、析构函数和成员函数。(14分)

class iStack{

int *pa;

int top;//指示栈顶位置

int capacity;//栈的容量

public:

iStack(int maxsize);

iStack(int *a,int n,int maxsize); //用已存在的一维数组来初始化void pop(int& tva); //入栈

void push( ); //出栈

~ iStack( );};

c语言试题1有答案

西北工业大学 — 学年第 一 学期考试题 教学中心: 命题教师 姜学锋 审题教师 课程: C 语言程序设计 考试时间 2 小时 考试形式: 开□ 闭? A 卷□ B 卷?

char f(char x , char y) { if(x>y) return y; else return x; } void main() { int a=’9’,b=’8’,c=’7’,d=’6’; printf(“%c\n”,f(f(a,b),f(c,d))); }

西北工业大学考试试题(B卷)答案 一、单项选择题(每题2分,15小题,共30分) 评分标准: 题号答案题号答案题号答案 1 A 6 C 11 C 2 D 7 D 12 D 3 C 8 B 13 A 4 A 9 B 14 B 5 D 10 C 15 D 阅卷说明:错画叉(),对画钩(),合计本题得分并记录在得分栏上 二、填空题(每空1分,20空,共20分) 评分标准: 题号答案备注 1 函数 2 字母或下划线仅有字母、下划线算错 3 32 4 1.0/2.0*(a*x+(a+x)/(4*a)) 可能还有其他写法(需判断) 5 8 2 6 4.0 4算对 7 函数函数调用 8 x<0&&y<0||x<0&&z<0||y<0&&z<0 可能还有其他写法(需判断) 9 gets(S1); 分号不写算对,S1小写算对 10 7 11 54321 654321 12 0 a[2][1] 13 实参变量的值或值 实参数组的起始地址或地址表示“值”的说法均算对 表示“地址”的说法均算对 14 auto 自动 15 0 16 24 3*sizeof(double)算对 阅卷说明:错画叉(),对画钩(),合计本题得分并记录在得分栏上

C试卷1

一、单选题:(40分) 1.设有int x=11; 则表达式( 1/3 * ++ x ) 的值是 A) 0 B) 3 C) 11 D) 12 2.定义int x=9 , y=4 , *p ; 执行p=&y ; y=x+++*p ; 后,则*p 的值为:(A)4 B)9 C)13 D)14 3. 当C只包含一个函数时,函数名必须是( ) . A) scanf B) printf C) main D) return 4.与y=(x>0?1:x<0?-1:0);的功能相同的if语句是 A) if (x>0) y=1; B) if(x) else if(x<0) y=-1; if(x>0) y=1; else y=0; else if(x<0) y=-1; else y=0; C) y=-1 D) y=0; if(x) if(x>=0) if(x>0) y=1; if(x>0) y=1; else if(x==0) y=0; else y=-1; else y=-1; 5.阅读程序 #include main() {int i=4,a; a=i++; printf(“a=%d,i=%d”,a,i);} A) a=4,i=4 B) a=5,i=4 C) a=4,i=5 D) a=5,i=5 6.以下循环体的执行次数是 main() { int i, j; for(i=0, j=1; i<=j+1; i+=2, j--) printf("%d \n", i); } A) 3 B) 2 C) 1 D) 0 7.以下叙述中不正确的是 A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是局部变量 C) 在一个函数内定义的变量只在本函数范围内有效

C 试题 (1)

C++程序设计试题 1、请解释以下定义的对象的区别(10分): int a=1024; int *p=&a; int *pt=new int(1024); int *pa=new int[1024]; 2、以下语句段正确的是 。(5分) 3、写出以下程序的运行结果:a ) b ) c ) (5分) 4、为什么以下重载的fun 函数调用具有二义性?(10分) 5、Tstring 类用于实现对字符串的管理,请完成成员函数的定义。(18分) class Tstring{ char *str; int len; public: Tstring(const char *ps); ~Tstring( ); Tstring(const Tstring & source); Tstring& operator=(Tstring& it); Tstring& operator=(const char * ps); Tstring& operator+( Tstring& it);//实现字符串连接 }; a) int a; int *pi=&a; void *pv=pi; const int *pci=&a; pv=pci; b) int a; int *pi1=&a; void * pv=pi1; int *pi2=pv; c) int a=6,b=7; const int *pc=&a; pc=&b; b=8; d) int k=10,j; int *const pic=&k; *pic=8; pic=&j; a) void fun(int &x) { x=x+1;} int main( ) { int a=9; fun(a); cout<

C试题库有答案的

C++试题库 一、选择题 1、求“abc\\12\n”字符串的长度( C ) (A) 5 (B) 6 (C) 7 (D) 8 2、字符串常量”\tMyNane\103”的长度是:( B ) (A) 6 (B) 8 (C) 12 (D) 14 3、设x=7,执行语句y=++x,则y等于( D ) (A) 6 (B) 7 (C) 9 (D) 8 4、下列字符列中,合法的长整型常量是:( D ) (A) 4.18e3 (B) 0.46793 (C) 4L (D) 956738 5、在C++中,char类型数据在内存的存储形式是:( D ) (A) 原码(B) 反码(C) 补码(D) ASCII码 6、以下运算符中,优先级最高的是:( B ) (A) *= (B) –> (C) && (D) >= 7、若有定义“int x”,则下面不能将x的值强制转换成双精度数的表达式(D )(A)(double)x (B) double(x)(C)(double)(x)(D)x(double) 8、设有变量定义 int i, j; 与表达式 i==0 && j==0 等价的表达式是:( b ) (A) i||j (B) !i&&!j (C) !i==!j (D) i==j 9、下述叙述正确的是()。 (A)字符型变量不能赋予整数(B) 任意整数都能表示字符 (C)字符型变量可存放多个字符(D) 字符数据的值是整数值 10、设变量int a = 5; 下列哪个表达式计算后,使得变量b的值等于2 ?( A ) (A) b=a/2 (B) b=6-(a--) (C) b=a%2 (D) b=a>3?3:2 11、if…else中为避免嵌套出现二义性,C++规定else子句总与( B ) (A)其之前最近的if语句 (B)其之前最近且尚未配对的if语句 (C)缩排位置相同的if语句 (D)其之后最近的if语句 12、逻辑运算符两侧运算对象的数据( D ) (A)只能是逻辑型数据(B)只能是整型数据 (C)只能是整型或字符型数据(D)可以是任何类型的数据

C语言试题1

安徽大学20 -20 学年第学期 《C语言程序设计》期末考试试卷(B卷120分钟) 年级院系专业姓名学号座位号 题号 一 二 三 四 五 六 七 八 得分 得分 得分 一. 单项选择题:(每题2分,共20分) 下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。 1.执行程序: int a; printf("%d \n", (a=3*5, a*4, a+5) );后,a的值是______。

A)60 B)20 C)15 D)10 2.程序段:int x=023; printf("%d \n", --x );的输出是______。 A)19 B)18 C)23 D)22 3.程序段:static char s[10]={'C','h','i','n','a'}; printf("%d\n",strlen(s));的输出是______。 A)6 B)5 C)11 D)10 4.若fun( int x) { printf(“%d\n”,x);}, 则fun_______。 A)返回值为void 类型B)返回值类型无法确定 C)返回值为int 类型D)没有返回值 5. 有宏定义:#define MULT1(a,b) a*b #define MULT2(a,b) (a)*(b) 且引用宏:y=MULT1(3+2,5+8); z=MULT2(3+2,5+8); 则y和z的值是______。 A)y=65,z=65 B)y=21,z=65 C)y=65,z=21 D)y=21,z=21 6.程序段char s[]="Hello", *p; p=s;执行后,*(p+5)的值是______。 A)'o' B)'\0' C)'o'的地址D)不确定的值7. 程序段:char *s=”ABCD”, *p; for( p=s; *p ; p++) printf("%s\n", p);的输出是______。 A)ABCD B)A C)D D)ABCD BCD B C ABC CD C B AB D D A A 8. 若定义:int (*p)[3]; 则标识符p______。 A)定义不合法。

C语言期中考试试题及答案 1

高级语言程序设计试题 答案在最后 一、单项选择题(本大题共20 小题,每小题 2 分,共20 分)在每小题列出的四个选项中只有一 个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.C 语言程序编译时,程序中的注释部分是() A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中 2.设int a=3 ;则表达式a<1&&--a>1 的运算结果和a 的值分别是() A.0 和2 B.0 和3 C.1 和2 D.1 和3 3. 与语句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; 4.设char x='a:则 printf("x=%c,y=%c \ n",x,97);的输出是() A.x=a,y=97 B.x=97,y=a C.x=97,y=97 D.x=a,y=a 5. 执行下列程序 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.0 B.1 C.2 D.3 6. 结构化程序设计所规定的三种基本控制结构是() A)输入、处理、输出B)树形、网形、环形 C)顺序、选择、循环D)主程序、子程序、函数 7. 完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ) A. 连接、编译 B.编译、连接 C.连接、运行 D.运行

c语言试题1有答案

、单项选择题(每题 2分,15小题,共30分) 8.若 w=1,x=2,y=3,z=4 ,则条件表达式 wy) retur n y; else return x; } 1. C 语言源程序是由 组成的。 D)主程序和子程序 A)有零个或多个输入 C)有穷性 B)有零个或多个输出 D)可行性 3 .以下选项中合法的 C 语言标识符是 。 A) long B) _2Test C) 3Dmax D) A.dat 4 .下列转义字符中错误的是 。 A) '\000' B) '\14' C) '\x111' D) '\2' A) 语法错误 B) f 为5.0 ;的判断中, __________ 是正确的。 C) f 为 0.0 D) f 为 2.0 6 ?若变量a , b 已经正确定义并赋值,符合 A) a 2+b B) a*a+b C 语言语法的表达式是 C) a x a+b o D) a ? a+b 7 .有输入语句:scan f("a=%d,b=%d,c=%d",&a,&b,&c); 则正确的数据输入方式是 。 为使变量a 的值为1, b 的值为3,c 的值为2, A) 132 / C) a=1—b=3LJC=2 / B) 1,3,2 / D) a=1,b=3,c=2 / A) 0, 0 B) 0, 1 C) 1, 0 D) 1, 1 D) 3次 D) f A 过程 B)函数 C)子程序 2 .一个算法应该具有“确定性”等 5个特性,下面对另外 4个特性的描述中错误的是 _____________ 5 .对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0)

C简单程序部分模拟试题(1)

C简单程序部分模拟试题 [1]. 以下程序的执行结果是___B_____。 main() { int x = 0, s = 0; while( !x != 0 ) s += ++x; printf( "%d ",s );} A.0 B.1 C.语法错误 D.无限循环 [2]. 若有下面的说明和定义,则sizeof(struct aa)的值是_____D___。struct aa { int r1;double r2;float r3; union uu { char u1[5]; long u2[2];} ua; }mya; A.30 B.29 C.24 D.22 [3]. 以下程序的执行结果是_____B___。 main() { int a = 1, b = 10; do { b -= a;a++;} while( b-- < 1 ); printf( "a=%d,b=%d \n ",a,b );} A.a=3,b=11 B.a=2,b=8 C.a=1,b=-1 D.a=4,b=9 [4]. 以下程序的执行结果是______D__。 main() { static int x[]={0,1,2,3,4,5,6,7,8,9 }; int s, i, *p; s=0;p=&x[0]; for( i=1;i<10;i+=2 ) s+=*( p + i ); printf( "%d ",s );} A.55

B.16 C.18 D.25 [5]. 以下程序的执行结果是_____C___。 void num() { extern x, y;int a = 15, b = 10; x = a - b;y = a + b;} int x , y ; main() { int a = 7, b = 5; x = a + b;y = a - b;num();printf( "%d , %d ",x,y);} A.12 , 2 B.不确定 C.5 , 25 D.1 , 12 [6]. 以下程序的执行结果是_____D___。 main() { static int x[]={0,1,2,3,4,5,6,7,8,9 }; int s, i, *p; s=0;p=&x[0]; for( i=1;i<10;i+=2 ) s+=*( p + i ); printf( "%d ",s );} A.55 B.16 C.18 D.25 [7]. 以下程序的执行结果是______C__。 main() { int num = 0; while( num <= 2 ) { num++;printf( "%d,",num );} } A.0,1,2, B.1,2, C.1,2,3, D.1,2,3,4, [8]. 以下程序的执行结果是_______B_。 main() { int x = 2, y = -1, z = 2;

完整版C试题及答案

C++考试试卷 1. 已知:char *s=S456; 则cout<>s; C) char *s1=abcd,*s2=efghijk;strcpy(s1,s2); D) char *s=abcdefg; cout<<*s; 4. C++中,关于构造函数和析构函数,正确的描述是()。 A) 在定义类时,必须自定义构造函数和析构函数,在创建对象时自动调用构造函数,在释放对象时自动调用析构函数 B) 构造函数和析构函数均可以重载 C) 已知类Student以及Student *p; 在使用p=new Student;时自动调用无参构造函数创建动态对象,在delelte p;时自动调用析构函数释放动态对象 D) 构造函数和析构函数都可以成为虚函数 )。关于拷贝构造函数的描述正确的是(5. A) 通常的拷贝构造函数的参数是对象的指针类型 B) 如果不自定义拷贝构造函数,系统提供默认的拷贝构造函数 C) 如果有自定义的构造函数,系统就不再提供拷贝构造函数 D) 如果需要用已有对象为新创建的对象初始化时,就必须自定义拷贝构造函数 6. 有关静态成员的描述错误的是()。 A) 某个类的静态数据成员由该类的所有对象所共享 B) 类的公有静态数据成员既可以用类的对象访问,也可以直接用作用域运算符“::”通过类名来访问 C) 静态数据成员既可以是私有成员,也可以是公有成员 D) 类中一旦定义了静态数据成员,就必须定义静态成员函数,以便对静态数据成员进行操作

C试题库

2000~2001学年《程序设计基础-C》试卷 一、单项选择题(每小题 2 分,共 30 分) 1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、‘{‘ 和’}’ B、‘[‘和’]’ C、“/*”和”*/” D、“*/”和”/*” 2.下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、= 3.若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。 A、3 B、 4 C、5 D、0 4.已知字符‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。 printf ("%d, %c", ’b’, ’b’+1 ) ; A、98, b B、语句不合法 C、98, 99 D、 98, c 5.表达式strcmp(“box”, “boss”) 的值是一个_______。 A、正数 B、负数 C、 0 D、不确定的数 6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 7.要调用数学函数时,在#include命令行中应包含_____。 A、”stdio.h” B、”string.h” C、”math.h” D、”ctype.h” 8.判断i和j至少有一个值为非0的表达式是_____。 A、 i!=0 && j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&&j 9.若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 A、scanf(”%d,%f”, &a, &c); B、scanf(”d=%d, c=%f”, &a, &c); C、scanf(”%d%f”, &a, &c); D、scanf(”%d%f”, a, c); 10.若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 A、p++ B、x++ C、*(p++) D、&x++ 11.若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是正确的。 A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1; 12.下列程序段的输出是_____。 int c[]={1, 3, 5}; int *k=c+1; printf("%d", *++k); A、 3 B、 5 C、 4 D、6 13.不正确的赋值或赋初值的方式是______。 A、char str[]="string"; B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'}; C、char str[10];str="string"; D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', ’\0’}; 14.对于以下结构定义,++p->str中的++加在_____。 struct { int len; char *str;

自考C试题及答案套合集

2010年全国自考C++程序设计模拟试卷(三) 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无 分。 1. 设有定义int i;double j=5;,则10+i+j值的数据类型是() A. int B. double C. float D. 不确定 2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为() A. const char *p=“ABCD”; B. char *const p=“ABCD”; C. char const *p=“ABCD”; D. const char * const p=“ABCD”; 3. 类的构造函数被自动调用执行的情况是在定义该类的() A. 成员函数时 B. 数据成员时 C. 对象时 D. 友元函数时 4. 已知类A是类B的友元,类B是类C的友元,则() A. 类A一定是类C的友元 B. 类C一定是类A的友元 C. 类C的成员函数可以访问类B的对象的任何成员 D. 类A的成员函数可以访问类B的对象的任何成员 5. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语 句后,和的值分别为() A. 1和0 B. 1和4 C. 4和0 D. 4和1 6. 关于this指针使用说法正确的是() A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码

B. 保证基类私有成员在子类中可以被访问。 C. 保证基类保护成员在子类中可以被访问。 D. 保证基类公有成员在子类中可以被访问。 7. 所谓多态性是指() A. 不同的对象调用不同名称的函数 B. 不同的对象调用相同名称的函数 C. 一个对象调用不同名称的函数 D. 一个对象调用不同名称的对象 8. 友元关系不能() A. 提高程序的运行效率 B. 是类与类的关系 C. 是一个类的成员函数与另一个类的关系 D. 继承 9. 语句ofstream f(“”,ios::app|ios::binary)?的功能是建立流对象f,试图打 开文件并与之连接,并且() A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件 B. 若文件存在,将其置为空文件;若文件不存在,打开失败 C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件 D. 若文件存在,打开失败;若文件不存在,建立一个新文件 10. 构造函数不具备的特征是() A. 构造函数的函数名与类名相同 B. 构造函数可以重载 C. 构造函数可以设置默认参数 D. 构造函数必须指定类型说明 11. 在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限() A. 受限制 B. 保持不变 C. 受保护 D. 不受保护 12. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后 ,和的值分别为() A. 3和15 B. 5和4 C. 4和20 D. 20和5 13. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是() A. 增加了一些新的运算符

C试题及答案

C++程序设计模拟试卷(五) 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无 分。 1.静态成员函数没有() A.返回值 B.this指针 C.指针参数 D.返回类型 答案:B 解析:静态成员函数是普通的函数前加入static,它具有函数的所有的特征:返回类型、 形参,所以使用静态成员函数,指针可以作为形参,也具有返回值。静态成员是类具有的 属性,不是对象的特征,而this表示的是隐藏的对象的指针,因此静态成员函数没有this指针 。静态成员函数当在类外定义时,要注意不能使用static关键字作为前缀。由于静态成员函数在 类中只有一个拷贝(副本),因此它访问对象的成员时要受到一些限制:静态成员函数可以直接 访问类中说明的静态成员,但不能直接访问类中说明的非静态成员;若要访问非静态成员时,必 须通过参数传递的方式得到相应的对象,再通过对象来访问。 2.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管 理操作的函数是() A.友元函数 B.虚函数 C.构造函数 D.析构函数 答案:C 解析:定义构造函数作用就是初始化对象,而析构函数释放对象空间。虚函数用于完成多 态性,友元增加访问方便性。 3.所有在函数中定义的变量,都是() A.全局变量 B.局部变量 C.静态变量 D.寄存器变量 答案:B 解析:变量存储类可分为两类:全局变量和局部变量。 (1)全局变量:在函数外部定义的变量称为全局变量,其作用域为:从定义变量的位置开始 到源程序结束。全局变量增加了函数之间数据联系的渠道,全局变量作用域内的函数,均可使用 、修改该全局变量的值,但是使用全局变量降低了程序的可理解性,软件工程学提倡尽量避免使 用全局变量。 (2)局部变量:在函数内部定义的变量称为局部变量,其作用域为:从定义变量的位置开始 到函数结束。局部变量包含自动变量(auto)静态变量(static)以及函数参数。 auto变量意味着变量的存储空间的分配与释放是自动进行的。说明符auto可以省略。函数中 的局部变量存放在栈空间。在函数开始运行时,局部变量被分配内存单元,函数结束时,局部变 量释放内存单元。因此,任两个函数中的局部变量可以同名,因其占有不同的内存单元而不影响 使用。这有利于实现软件开发的模块化。 static变量是定义在函数体内的变量,存放在静态存储区,不用栈空间存储,其值并不随存 储空间的释放而消失。 4.假定AB为一个类,则执行“ABa(2),b[3],*p[4];”语句时调用该类构造函数的次数 为() A.3 B.4 C.5 D.9 答案:B 解析:a(2)调用1次带参数的构造函数,b[3]调用3次无参数的构造函数,指针没有给它 分配空间,没有调用构造函数。所以共调用构造函数的次数为4。 5.如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则 可表示为() A.a.operator++(1) B.operator++(a) C.operator++(a,1) D.a.operator++() 答案:D

linux及C试题含答案

华清远见嵌入式学院《Linux及C》考试题(B卷) 一、选择题(23题,每空2分,共46分) 1.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项(D )。 A.-m B.-d C.-f D.-p 2.任何时候用户需要回到用户主目录时可以使用命令 ( A ) 。 A. cd B. pwd C. path D. cd . 3.将当前目录下的文件shell.sh移动到目录/home/linux下的命令为( B ) 。 A. cp shell.sh /home/linux B. mv shell.sh /home/linux C. ls shell.sh / home/linux/she ll.sh D. mv /root/shell.sh /home/linux/shell.sh 4.下面( C )命令不能用来显示文件的内容。 [A] more [B] less [C] find [D] cat 5./etc/shadow文件中存放( B )。 A.用户账号基本信息 B.用户口令的加密信息 C.用户组信息 D.文件系统信息 6.LINUX所有服务的启动脚本都存放在( B )目录中。 A./etc/rc.d/init.d B./etc/init.d C./etc/rc.d/rc D./etc/rc.d 7.若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为(C )。 A.tar -cvf myfile.txt myfile.txt.tar.gz B.tar -zcvf myfile.txt myfile.txt.tar.gz C.tar -zcvf myfile.txt.tar.gz myfile.txt D.tar -cvf myfile.txt.tar.gz myfile.txt 8.以下程序的运行结果为( C ) #include #include int SubCount(char *dest, int count) { strcpy(dest,"555"); count++; return 0; } int main() { int count = 3; char caBuf[8]; SubCount(caBuf,count); printf("%d\n",count);

C试题

C语言测试题,时间90分钟 Post By:2009-12-3 10:22:56 一、选择题(1.5*20) (1)下列数据结构中,按先进后出原则组织数据的是 A)线性链表 B)栈 C)循环链表 D)顺序表 (2)下列表达式中,结果为5的是 A)6*5%6 B)5*-2+15 C)5+75%10 D)6+-2/3 (3)关于C语言的主函数描述正确的是 A)C程序可以有多个main函数 B)C程序必有一个而且只能有一个main函数 C)C程序可以没有main函数 D)C程序的执行不一定在main函数开始执行 (4)已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为A)1 B)2 C)3 D)4 (5)若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是 A)9 B)8 C)3 D)2 (6)下列关于栈的描述正确的是 A)在栈中只能插入元素而不能删除元素 B)在栈中只能删除元素而不能插入元素 C)栈是特殊的线性表,只能在一端插入或删除元素 D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 (7)阅读下列程序,则执行结果是 #include "stdio.h" main() { int a=0,b=0,c=0,i; for(i=0;i<4;i++)

switch(i) { case 0:a=i++; case 1:b=i++; case 2:c=i++; case 3:i++; } printf("%d,%d,%d,%d\n",a,b,c,i); } A)0,1,3,4 B)1,2,3,4 C)0,1,2,5 D)0,2,3,4 (8)以下描述错误的是 A)C程序中,函数可以直接或间接的调用自己 B)函数调用时,函数名必须与所调用的函数名字完全一致C)函数说明语句中的类型必须与函数返回值的类型一致D)实参数可以与形参个数不一致 (9)阅读下面程序,则执行后的结果为 #include "stdio.h" int fun1() { int k=20; return k; } int fun2() { int a=15; return a; } fun3(int a,int b) { int k; k=(a-b)*(a+b); printf("%d\n",k); } main() { fun3(fun1(),fun2()); }

LINUX c试题

华清远见嵌入式学院第一学期期中考试 一、选择题(20题,共44分) 1.常见的Linux发行版本有很多,下面不是Linux发行版本的是( )。 [A] Red Hat Linux [B] Ubuntu Linux [C] X Window [D] SuSE Linux 2.下面不是对Linux操作系统特点描述的是( )。 [A] 良好的可移植性[B] 单用户 [C] 多用户 [D] 多任务 3.下面( )命令不能用来显示文件的内容。 [A] more [B] less [C] find [D] cat 4.查看创建目录命令mkdir的帮助文档,可以使用命令( )。 [A] mkdir –h [B] help mkdir [C] mkdir -p [D] man mkdir 5.假设目录中存在若干文件file_num.txt(num表示文件编号,1~10),使用以下( )通配符可以挑5的文件。1选出其中的编号为、3、 [C] file_[135].txt [D] file_[^135].txt[A] file_*.txt [B] flie_?.txt ( )文件权限 r-x-wxr--对应的八进制表示形式为6. 0534 [A] 0536 [B] 0654 [C] 0656 [D] ( )。C7.在语言中,要求运算数必须是整型的运算符是 [D] %[A] / [B] ++ [C] != ( )语言中,逻辑“真”等价于。8.C [D] [B] [A] 大于零的数大于零的整数 [C]非零的数非零的整数

9.目前流行的两种软件包管理机制,Debian使用( )软件包,Redhat使用( )软件包。 [A] tgz [B] rpm [C] tar [D] deb 10.下面函数的功能是( )。 int fun (char*x) { char*y=x; while(*y++); return(y-x-1); } [A] 求字符串的长度 [B] 比较两个字符串的大小 [C] 将字符串x复制到字符串y [D] 将字符串x连接到字符串y后面 11.C语言程序的三种基本程序是( )。 [A] 顺序结构,选择结构,循环结构[B] 递归结构,循环结构,转移结构[C] 嵌套结构,递归结构,顺序结构[D] 循环结构,转移结构,顺序结构 。执行下面语句后的输出结果为12.( ) int i = -1; if (i < =0)”); printf(“****\n i = 2; else %%%%\n”);“ printf( [D] **** [B] %% [C] %%%% [A]有语法错误。不能正确执行 13.( )下面的程序运行结果为。 int main(void) { int x = 3, y = 1, z = 0; if(x = y + z) printf(“****”); else printf(“####”);

c试题+答案

1、设int a = 3, b = 4, c = 5; 表达式(a+b)> c&&b==c 的值是(C) A、2 B、-1 C、0 D、1 2、下列标识符中,不合法的用户标识符为(A) A、a#b B、_int C、a_10 D、PAD 3、while(!x) 中的(!x)与下面条件那个等价(D) A、x == 1 B、x != 1 C、x !=0 D、x==0 4、定义一个char * * p; 请选择sizeof(p)的值(D) A、1 B、2 C、3 D、4 5、在switch(key)开关语句中的键值可以时那种数据类型(C) A、double B、float C、char D、string 6、ANSI C中ASCII的值域如下哪些正确(B) A、0-255 B、0-127 C、0-128 D、-128 - +127 7、int t = 128; char * p = &t; printf("%d\n", *p); 请判断输出结果(D) A、127 B、-127 C、128 D、-128

8、如下那些函数能够动态分配一个一维数组(B) A、malloc B、calloc C、xmalloc D、realloc 9、如下对C中宏定义的解释不正确(B) A、宏可以代表一个变量的别名 B、宏是一个变量 C、宏可以代表函数的别名 D、宏可以带参数 10、Gcc 编译器是否支持内联汇编(A) A、支持 B、不支持 C、在某些情况下支持 D、在某些情况下不支持 11、ANSI C中的可变长参数的所支持的参数个数(D) A、1 B、2 C、3 D、任意多个 12、ANSI C 中在调用函数并传递参数时,参数被存储在哪里(A) A、栈中 B、堆中 C、堆栈中 D、哪里都没有 13、ANSI C中调用函数并传递参数时,参数被入栈顺序(B) A、从左至右 B、从右至左 C、从上到下 D、从下到上 14、C中的Global变量的存储分配方式(A) A、静态分配 B、动态分配 C、栈分配 D、寄存器分配 15、定义 struct A

C语言试题1

《高级程序设计基础(C语言)》考试题一 一、选择题(共20题,每题2分) 1.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是()。if (a12?x+10:x-12; printf(“%d\n”, y); } A) 0 B) 22 C) 12 D) 10 4.设有程序段 int k=10;

while (k=0) k= k—1; 则下面描述中正确的是() A) while循环执行10次B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次 5.下面程序的功能是计算:至50中是7的倍数的数值之和,请选择填空。 #include main() {int i,sum= 0; for(i=1;i<=50;i++) if( ()) sum+=i; printf("%d",sum); } A) (int)(i/7)==i/7 B) (int)i/7==i/7 C) i%7= 0 D) i%7==0 6.下面程序段的运行结果是 a=1;b= 2;c=2; while(a main() {int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2)

c试题1

C程序设计—试题1 一、单项选择题(每题1分,共40分) 1、c语言程序的基本单位是_______。 A、程序行 B、语句 C、函数 D、字符 2、C的源程序要变成目标程序要经过的步骤_________。 A、编辑 B、连接 C、编译 D、汇编 3、在下面表达式中选出值为1的表达式_________。 A、a!=a B、7/5 C、b>b D、!(3*5) 4、下面程序段执行后b的值是_______。 int b=5; switch(b) { case 4: b++; case 5: b++; case 6: b++;break; case 7: b++; } A、7 B、6 C、8 D、5 5、设char ch, str[10]; 则下面正确的语句是_______。 A、ch=str B、str=ch C、ch=str[5] D、ch=&str[5] 6、下面语句中,与if(…x?) x=0; 作用相同的语句是______。 A、if(x!=0)x=0; B、if(1)x=0; C、if(x==1)x=0; D、if(0)x=0; 7、对scanf(“a=%d,b=%d”,&x,&y); 语句,正确的输入响应的是_________。 A、30,40 B、30 40↙ C、x=30,y=40 D、a=30,b=40 8、下面程序段的运行结果是_______。 x=10;s=0; while(x<=10) { x++; s+=x; printf(“%d”,s); } A、10 B、11 C、0 D、21 9、下面定义的语句中,正确的是________。 A、static int a[ ][3]={1,2,3,4,5,6}; B、static int a[2][ ]={1,2,3,4,5,6};

相关主题