c++ 经典习题(附答案)
- 格式:pdf
- 大小:188.55 KB
- 文档页数:25


C语言指针练习题及答案
一、选择题
1. 变量的指针,其含义是指该变量的____.
a)值 b)地址
c)名 d)一个标志
2.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是__ _.
a)a,point,*&a b)&*a,&a,*point
c)*&point,*point,&a d)&a,&*point ,point
3.若有说明;int *p,m=5,n;以下正确的程序段的是________.
a)p=&n; b)p=&n;
scanf("%d",&p); scanf("%d",*p);
c)scanf("%d",&n); d)p=&n;
*p=n; *p=m;
4. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是__ _____.
main()
{
int *p,*q,a,b;
p=&a;
printf(“input a:”);
scanf(“%d”,*p);
……
}
a)*p表示的是指针变量p的地址
b)*p表示的是变量a的值,而不是变量a的地址
c)*p表示的是指针变量p的值
d)*p只能用来说明p是一个指针变量
5. 已有变量定义和函数调用语句:int a=25; print_value(&a); 下面函数的正确输出结果是______.
void print_value(int *x)
{ printf(“%d\n”,++*x);}
a)23 b)24 c)25 d)26
6.若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是
A) *p=&a; scanf("%ld",p);
一、单选题
1、链表不具有的特点是( )。
A.不必事先估计存储空间
B.插入、删除不需要移动元素
C.可随机访问任一元素
D.所需空间与线性表长度成正比
正确答案:C
2、链接存储的存储结构所占存储空间( )。
A.分两部分,一部分存放结点值,另一部分存放结点所占单元数
B.只有一部分,存放结点值
C.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
D.只有一部分,存储表示结点间关系的指针
正确答案:C
3、链表是一种采用( )存储结构存储的线性表。
A.网状
B.星式
C.链式
D.顺序
正确答案:C
4、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是( )。
struct node {
char data;
struct node *next;
} a,b,*p=&a,*q=&b; A.(*p).next=q;
B.p.next=&b;
C.a.next=q;
D.p->next=&b;
正确答案:B
5、下面程序执行后的输出结果是( )。
#include
#include
struct NODE {
int num; struct NODE *next;
};
int main()
{ struct NODE *p,*q,*r;
p=(struct NODE*)malloc(sizeof(struct NODE));
q=(struct NODE*)malloc(sizeof(struct NODE));
r=(struct NODE*)malloc(sizeof(struct NODE));
p->num=10; q->num=20; r->num=30;
p->next=q;q->next=r;
printf("%d",p->num+q->next->num);
return 0;
C期末考试复习题(答案)
C语言复习题
一、单项选择题
1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。
A).c B).obj C).exe D).bas
2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )
A)连接、编译B)编译、连接 C)连接、运行D)运行
3、关于C语言的叙述中,不正确的是(D)
A)C程序可由一个或多个函数组成B)C程序必须包含一个main()函数
C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面
4、一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序的main函数开始,到本程序文件的最后一个函数结束
D) 本程序文件的第一个函数开始,到本程序main函数结束
5、以下正确的叙述是(C )
A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句
C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误
6、下列选项中,不能用作标识符的是( D)。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_
7、常数的书写格式决定了常数的类型和值,0x1011是( C )
A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数
8、以下4组用户定义标识符中,全部合法的一组是( A )
A)_total clu_1 sum B)if -max turb
C)txt REAL 3COM D)int k_2 _001
9、_( D )是合法的用户自定义标识符。
A) b-b B)float C)123a D) _isw
10、以下选项中不正确的整型常量是( C )。
A) 12L B) -10 C) 1,900 D) 123U
C语言选择题(含答案)
选择题
1. 以下叙述正确的是_____。
A) 在C程序中,main函数必须位于程序的最前面。
B) C语言本身没有输入输出语句。
C) C程序的每行只能写一条语句。
D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
2. 下面四个选项中,均是不合法的用户标识符的选项是。
A) A B) float C) b-a D) _123
P_0 1a0 goto temp
do _A int INT
3、 下列四个选项中都是合法的转义字符的
A) ‘\’’ ‘\\’ ‘\n’ B) ‘\’ ‘\017’ ‘\”’
C) ‘\018’ ‘\f’ ‘xab’ D) ‘\\0’ ‘\101’ ‘x1f’
4、 设所有变量均为整型,则表达式z=(a=2,b=5,b++,a+b)的值是:
A)7 B)8 C)6 D)2
5、 若有代数式,则不正确的C语言表达式是:
A) a/b/c*e*3 B) 3*a*e/b/c
C) 3*a*e/b*c D) a*e/c/b*3
6、 若希望当A的值为奇数时,表达式的值为”真”, A的值为偶数时,表达式的值为”假”。则以下不能满足要求的表达式是_________。
A) A%2==1 B) !(A%2==0)
C) !(A%2) D) A%2
7、 以下程序的运行结果是 :
main()
{
int m=6; if(m++> 6) printf(" %d\n",m);