1.撤掉对象后系统自动调用(析构函数)
2.在C语言程序中函数的定义不可以嵌套,但是函数的调用可以嵌套。
3.定义变量的时候第一个字符只能是字母或者下划线。
4.三目运算符看做表达式1?表达式2:表达式3
运算规则:若表达式 1(条件)结果为真,整个运算结果为表达式 2 的值;若表达式 1(条件)结果为假,整个运算结果为表达式 3 的值。
5.%作为运算符是用来取余的,/是除法运算。
例如:除法运算式
65 ÷8 = 8余1
那么
65 / 8 = 8
65 %8 = 1
6.不管是16位系统32位系统还是64位系统 long的长度都是4
- 下面程序段的输出结果是
#include <stdio.h>
main()
{int a[]={1,2,3,4,5,6},*p;
p=a;
*(p+3)+ =2;
printf(" %d,%d",p,(p+3));
}
int a[] = {1,2,3,4,5,6}, *p
p=a; p指向数组的首元素,即1
*(p+3),这个指针指向数组的第四个元素,即4,并没有改变p的指向
*(p+3)+ =2; 将数组的第四个元素加2
*p,输出数组第一个元素的值
*(p+3);输出数组第4个元素的值,因为第四个元素被修改,所以输出6
8.if中是可以嵌套switch语句的
9.ftell(fp)的作用是得到流式文件中的当前位置
10.#include “stdio.h”
main()
{ int a=2,b=2,c=2;
printf("%d\n",a/b&c);
}
程序运行后的输出结果是(0 )?
优先级:算数运算符>关系型运算符>逻辑运算符>赋值运算符
所以’/’>’&’(位运算)’
11.int a=1,x=1;循环语句while(a<10) x++;a++;的循环执行()
A while后面并没有用大括号,所以它只作用到了x++上,a++不会被执行,故无法跳出循环
12.已知:char str1[8],str2[8]={“good”};则在程序中不能将字符数组str2赋值给
str1的语句是 -》strcpy(str1,str2);
数组名 是 地址常量。常量之间 是不能互相赋值的。
1、strcpy 其一般形式为strcpy(字符数组1,字符串2)作用是将字符串2复制到字符数组1中去。
13下边程序输出的结果是(0)
include<stdio.h>
main(){
int i=1;
i=i^i;
printf("%d\n",i);
}
本题考查位运算中按位异或运算符,异或运算只有在两个比较的位不同时其结果是1,否则结果为0,i^i运算符两边相同,所以结果为0
14.寄存器类变量的作用域和寿命与自动类变量的相同。正确
15.C语言本身不提供输入输出语句但是可以通过输入输出函数来实现数据的输入输出。正确
16.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。
以上叙述是否正确? 错误。
float a=10;也对
17.char st1[12]= “Yes”, st2[5]= “No”, st3[7]= “Or”;
, 则执行下列语句,输出结果是_________。
复制代码
1
cout<< strcat(strcat(st1,st3), st2);
输出结果是Yes or No
18.设 x 和 y 均为 int 型变量,在不考虑数据溢出的情况下,则以下语句:x+=y;y=x-y;x-=y;的功能是?
交换x和y中的值
把原先的赋值写成下面的形式:
1
2
3
xt = x + y
yt = xt - y
xt = xt - yt
然后化简就可以了:
复制代码
1
2
yt = (x + y) - y = x
xt = (x + y) - (x + y - y) = y
19.局部变量能否和全局变量重名?
能,但是局部变量会屏蔽全局变量
20.const修饰类的成员函数,则该成员函数不能修改类中任何非const成员函数。一般写在函数的最后来修饰。