用变量A给出下面的定义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题
1用变量a给出下面的定义
a) 一个整型数
b) —个指向整型数的指针
c) 一个指向指针的的指针,它指向的指针是指向一个整型数
d) 一个有10个整型数的数组
e) 一个有10 个指针的数组,该指针是指向一个整型数的。
f) 一个指向有10 个整型数数组的指针
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数
h) 一个有10 个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型
数
2、在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。假设编译器是一个纯粹的ANSI 编译器。
3、下面的代码输出是什么,为什么?
void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) ? puts("> 6") : puts("<= 6");
}
4、怎么样编写死循环呢?请写出最佳的方式。
5、在C语言中,关键字static的作用是什么?
6、关键字const有什么含意?至少说明两种用途。
7、请填写bool ,float,指针变量与"零值”比较的if语句。
8、以下为Windows NT下的32位C++程序,请计算sizeof的值
(1)char str[] = “Hello ” ;
char *p = str ;
int n = 10;
请计算:
sizeof (str ) =
sizeof ( p ) =
sizeof ( n ) =
(2)void Func ( char str[100])
{
cout << sizeof( str ) // =
}
(3)void *p = malloc( 100 );
请计算:
sizeof ( p ) =
9、头文件中的ifndef/define/endif 干什么用?
10、#include
11、下面是有关内存的思考题,请问运行Test函数会有什么样的结果?
( 1) void GetMemory(char *p)
{ p = (char *)malloc(100); }
void Test(void)
{
char *str = NULL;
GetMemory(str);
strcpy(str, "hello world"); printf(str);
}
(2) char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}
(3) void GetMemory2(char **p, int num)
{ *p = (char *)malloc(num); }
void Test(void)
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, "hello");
printf(str);
}
(4)void Test(void)
{
char *str = (char *) malloc(100);
strcpy(str, “hello ”);
free(str);
if(str != NULL)
{
strcpy(str, “world ”);
printf(str);
}
}
12、已知strcpy 函数的原型是:char *strcpy(char *strDest, const char *strSrc); 其中strDest 是目
的字符串,strSrc 是源字符串不调用C++/C 的字符串库函数,请编写函数
13、请说明下列第2、3 行语句的含义。
strcpy
const int number = 1;
const int * const pNumber = & number;
const int & number1 = number;
14、写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个。
15、嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置 a 的bit 3 ,第二个清除 a 的bit 3 。在以上两个操作中,要保持其它位不变。
16、给出下列程序运行后的输出结果
1) #include
void main()
{
char a[]="abcdabcabfgacd";
int i1=0, i2=0, i=0;
while(a[i])
{
if(a[i]=='a') i1++;
if(a[i]=='b') i2++;
i++;
}
cout< } 2) #include void LE(int *a, int *b) { int x=*a; *a=*b; *b=x; cout<<*a<<' '<<*b< } void main() { int x=10, y=25; LE(&x,&y); cout< } 17、编写能统计某个子串在一个字符串中出现次数的函数,该函数能利用引用的方式将统计结果带回给主调函数,请编写函数,利用main 函数调用并测试它。 18、使用函数重载,用递归法对整型数组与字符串进行倒置。 19、请简答下列一些问题: 1) ____________________________________________________________ 在C++程序中,使用基本输入输出流需要包含的头文件是 ___________________________________ 。 2) 假定有如下定义:int x; ,若要将整型变量y 定义为变量x 的引用,则应使用的定 义语句是 _________ 。 3) 在文件filel.cpp 中定义变量int x,如果在文件file2.cpp 中使用该变量,那么在 文件___① ___开始处应加上语句___② ___。 4) 以/* 开始,*/ 结束,在/* 和*/ 之间的部分即为___________ 。 20、假定输入字符串为abedefg 。写出下列程序的运行结果。 #include void main() { char str[100],*p; cout<<"Please input a string:"; cin>>str; p=str; for (int I=0;*p!= '\0';p++,I++); cout<<"I="< } 21、假定输入为30和60。写出下列程序的运行结果。#include void main() { int a,b; cin>>a>>b; if(a { a=a+b; b=a-b; a=a-b; } cout< }