1,以下对二维数组 a 的正确说明是(c).
2,判断字符串 a 是否大于 b,应当使用(D )
A.int a[3][]
B.float a(3,4)
C.double a[1][4]
D.float a(3)(4)
3,有以下程序
A.if (a>b)
B.if (strcmp(a,b))
C.if (strcmp(b,a)>0)
D.if (strcmp(a,b)>0)
程序运行后的输出结果是 (666).
main() {
int a = 666,
b = 888;
printf("%d\n", a, b);
}
错误信息
666
888
666,888
3,下列选项中,不能用作标识符的是 (D).标识符首位不能是数字
4,在 C++ 中,用于实现动态多态性的是(虚函数).
A._1234_
B._1_2
C.int_2_
D.2_int_
内联函数
重载函数
模板函数
虚函数
动态多态性:编译时无法立即确定其所要调用的同名函数,注意是同名函数,这才是多态的体现!要在运行时才能确定其要调用同名函数!
另一种静态多态:是在编译时就能被确定其要调用同名函数.
是能通过设立一个虚函数的方法,来动态确定要调用的同名函数.
5,下列标识符错误的是(c)
标识符首位不能是数字
6,以下不符合 C 语言语法的赋值语句是(D).
A.xly
B._123
C.2ab
D._ab
7,以下对 C 语言函数的描述中,正确的是(A).
A.a = 1,
b = 2 B.++j;
C.a = b = 5;
D.y = (a = 3, 6 * 5);
A.C程序必须由一个或一个以上的函数组成
B.C 函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C 程序中有调用关系的所有函数必须放在同一个程序文件中
8,设 x,y,t 均为 int 型变量, 执行下列语句后, y 的值为(3).
x=y=3; t=++x||++y;
不确定
4
3
1
9,下列程序段,循环体执行次数是:2 次10,用变量 a 给出下面的定义: 一个有 10 个指针的数组, 该指针指向一个函数, 该函数有一个整形参数并返回一个整型数
y = 2;
while (y <= 8)
y = y + y;
2
16
4
3
11,下面有关 java 和 c++ 的描述,错误的是?(B)
A.int * a[10];
B.int( * a)[10];
C.int( * a)(int);
D.int( * a[10])(int);
JAVA 不支持多继承
A.java是一次编写多处运行,c++是一次编写多处编译
B.c++和java支持多继承
C.Java不支持操作符重载,操作符重载被认为是c++的突出特征
D.java没有函数指针机制,c++支持函数指针
12,不能把字符串 "HELLO!" 赋给数组 b 的语句是(B)
13,*p++ 自增 p 还是 p 所指向的变量?// 自增 P,然后指向之前所指向的变量
A.char b[10]={'H','E','L','L','O','!','\0';
B.char b[10];b="HELLO!";// 这里的 b 是地址,数组首地址
C.char b[10];strcpy(b,"HELLO!");
D.char b[10]="HELLO!";
自增 p
自增 p 所指向的变量
和机器相关
14,下面程序会输出什么:1 2 2 2
15,已知一运行正常的程序中有这样两个语句:int p1,*p2=&a; p1=b; 由此可知,变量 a 和 b 的类型分别是(C).
static int a=1;
void fun1(void){ a=2; }
void fun2(void){ int a=3; }
void fun3(void){ static int a=4; }
int main(int argc,char** args)
{
printf("%d",a);
fun1( );
printf("%d",a);
fun2( );
printf("%d",a);
fun3( );
printf("%d",a);
}
1 2 3 4
1 2 2 2
1 2 2 4
1 1 1 4
A.int和int
B.int*和int
C.int和int*
D.int*和int*
16,c++ 中,声明 const int i, 是在哪个阶段做到 i 只可读的 (编译的时候)
编译
链接
运行
以上都不对
17,以下程序的运行结果是(B)
18,运行下面这段 C 语言程序之后,输出在屏幕上的结果是:A
int main(void) {
printf("%s , %5.3s\n", "computer", "computer");
return 0;
}
A.computer,
puter B.computer,
com C.computer,
computer D.computer,
compu.ter
19,下列程序的运行结果是 3,5,请为横线处选择合适的程序( )
void foobar(int a, int *b, int **c)
{
int *p = &a;
*p = 101;
*c = b;
b = p;
}
int main()
{
int a = 1;
int b = 2;
int c = 3;
int *p = &c;
foobar(a, &b, &p);
printf("a=%d, b=%d, c=%d, *p=%d\n", a, b, c, *p);
return (0);
}
A.a=1, b=2, c=3, *p=2
B.a=101, b=2, c=3, *p=2
C.a=101, b=101, c=2, *p=3
D.a=1, b=101, c=2, *p=3
20,在 C 语言中下面那个语句的结果是 1 ?B
#include<stdio.h>
struct S
{
int n;
char c[10];
} *p;
main()
{
struct S a[3]={{3,"abc",{5,"def",{7,"ghi"};
p=a;
printf("%d,",(*p).n);
printf("%d\n",((*)(p+1)).n);
}
A.main 函数正常结束的返回值
D.上面都不对
B.return 7&1;
C.char *p="hello"; return p == "hello";
21,下列给定程序中,函数 fun 的功能是:把形参 a 所指数组中的奇数按原顺序依次存放到 a[0],a[1],a[2]… 中,把偶数从数组中删除,奇数个数通过函数值返回. 例如,若 a 所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后,a 所指数组中的数据为:9,1,3,5,7,返回值为 5.
函数原型:int cnt_array_oushu(int *a, int len)
#include < stdio.h > #define N 9;
int cnt_array_oushu(int * a, int len) {
int * p = a;
int arr[];
int i = 0;
int j = 0;
for (i = 0; i < len; i++) {
if ((a[i] % 2) == 0) {
arr[j] = a[i];
} else {
p = p + 1;
}
}
}
int main(void) {
int a[] = {
9,
1,
4,
2,
3,
6,
5,
8,
7
};
int sum;
sum = cnt_array_oushu(a, N) return 0;
}
来源: http://blog.csdn.net/linzetao233/article/details/78969588