




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言部分:1.写一个宏, 求两个整数的最大值.#include<stdio.h>#define MAX a>b?a:b;Void mainInt a ,b;Printf(“请输入两个数:”);Scanf(“%d %d”,&a,&b);Printf(“max = %d”,MAX);2.内存如何划分(地址从高到低), 每个分区的特点是什么?内存分为五大区,分别是:栈区、堆区、静态区、常量区、代码区1.栈区:内存为8M,地址从高到低排列,函数调用时,在栈区开辟内存,函数调用结束时就会立马被系统回收2.堆区:开辟内存用函数malloc calloc给开辟的内存清零
2、realloc重新分配内存生命周期为从程序开始一直到程序结束3.静态区:静态区关键字为static,在主函数外定义的变量是全局变量,可被改写,作用域在整个程序,他的生命周期重程序开始一直到程序结束4.常量区:存储常量数字 ,字符或字符串,是立即数,立即使用立即释放,存储在CPU中,在使用是通常从常量区拷贝到栈区开辟的变量空间中5.代码区:存储代码,生命周期从程序开始到程序结束3.变量定义三要素_变量类型_、_变量名_和_变量值_4.编写程序,实现两个整数的交换#include<stdio.h>Void main Int a, b;Int temp = a;A = b;B = tem
3、p;5.逻辑运算符包括_&&_、_|_和_!_6.分支结构的分类和格式;If(条件)表达式Else表达式Switch:Case1:表达式1;Case2:表达式2;.,Default:表达式7.编写程序, 输入一个年份, 判断该年份是否是闰年#import<founction.h>Void main Printf(“请输入年份:”);Scanf(“%d”,&a);If(a % 4 =0 | a & 100 = 0)Printf(“该年是闰年”)Else printf(“该年不是闰年“);8.for循环包含_循环变量初值_、_循环条件_、_循环步长_和_
4、循环体_四部分9.break和continue的作用Break是结束本次循环Contiue是跳出本次循环,直接进入下次循环10.sizeof和strlen的区别Sizeof是指变量所占空间 字节长度Strlen是指字符串的长度11.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#import<founction.h>#define second 365*24*60*60;12.static的作用Static 静态变量的关键词,定义静态变量,作用域是整个程序13.堆和栈的区别(1)栈区是由编译器自动管理,一旦函数调用结束内存有系统自动的回收,无需手动释
5、放,其进栈方式是先进后出,进栈出栈有指令进行,效率较高,当内存空间超过8M时,会出现溢出。其分配方式有静态分配(由编译器完成)和(alloc函数完成)动态分配(2)堆是高地址扩展的数据结构,不是连续的内存空间,遍历方向是由低地址向高地址,其释放是由程序员控制,容易产生内存泄漏;其内存大小受限于计算机系统的中有效虚拟内存,数据的存入提取均由函数库完成。堆得分配方式是动态分配(alloc函数完成)有程序员手动释放。 14.堆区常见的内存问题堆是一种经过排序的树形数据结构,每个结点都有一个值。通常所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小,且根结点的两个子树也是一个堆。由于堆的这个特性
6、,常用来实现优先队列,堆的存取是随意,这就如同在图书馆的书架上取书,虽然书的摆放是有顺序的,但是想取任意一本时不必像栈一样,先取出前面所有的书,书架这种机制不同于箱子,可以直接取出想要的书。15.指出下述变量a的含义:int a10 :数组名int *a :变量名int (*a)(int) :函数变量16.变量名的命名规范是什么?1).以字母 下划线开头2).非系统关键字3).包含字母、数字、下划线17.指针和地址是什么关系?指针就是地址18.局部变量能否和全局变量重名?19.请写出下列代码的输出内容 #inclu
7、de <stdio.h>int main(void) int a,b,c,d;a=10; b=a+; c=+a; d=10*a+; printf("b,c,d:%d,%d,%d",b,c,d); return 0; b,c,d:10,12,12020.编程题, 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?For(int i = 1; i < 5; i +) Int count = 0; For(j = 1; j < 5; j +) If(i != j) For(k = 1; k < 5;
8、k+) If(j != k) Count +;Print(“%d”,100 * i + 10 * j + k);21.编程题, 输出99乘法口诀表for(int i = 1;i < 10;i+) for (int j = 1; j < i+1; j+) printf("%d * %d = %d ",i,j,i*j); printf("n"); 22.编程题, 输入两个整数m和n, 求最大公约数和最小公倍数Int min = m < n ? m : n;While(max != 0)Max = m % n;M = n ;N = max;P
9、rintf(“最大公约数是:%d”,max);Printf(“最小公倍数是:%d”,max * min);23.编程题, 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数MainPrintf(“请输入一行字符:”);Scanf(“%s”,s);Int lettersCount = 0;Int numCount = 0;Int spaceCount = 0;Int count = 0;For(int i = 0;i < strlen(s) + 1;i+) If(si > 0 && si < 9)numCount += 1; else if(si
10、> 64 && si < 91 | si > 96 && si < 123)lettersCount += 1; else if(si = 0)spaceCount += 1; else ifcount += 1;24.下面程序的输出是?#include<stdio.h>void main() int k=11; printf("k=%d,k=%o,k=%xn",k,k,k);输出的结果是:k = 11,k = 013,k = xB25.下面程序的输出是?#include<stdio.h>voi
11、d main() int x=10,y=3; printf("%dn",y=x/y);326.下面程序的输出是?#include<stdio.h>void main() char ch1,ch2; ch1='A'+'5'-'3' ch2='A'+'6'-'3' printf("%d,%cn",ch1,ch2);67,D27.下面程序的输出是?#include<stdio.h>void main() int x=10,y=10; prin
12、tf("%d %dn",x-,-y);10 928.下面程序的输出是?设有如下定义: int x=10,y=3,z;则语句 printf("%dn",z=(x%y,x/y);329.下面程序的输出是? int k,n,m; n=10;m=1;k=1; while (k<=n) m*=2;k+=4; printf("%dn",m);830.下面程序的输出是?#include <stdio.h>void main( ) int a =5,4,3,2,1,i,j; long s=0; for(i=0;i<5;i+)
13、s=s*10+ai; printf("s=%ldn",s); 5432134.下面程序的输出是?#include <stdio.h>void main() int i,a10; for(i=9;i>=0;i-) ai=10-i; printf("%d%d%d",a2,a5,a8); 85231.下面程序的输出是?#include <stdio.h>int m=13;int fun2(int x, int y) int m=3; return(x*y-m); void main() int a=7, b=5; printf(&
14、quot;%dn",fun2(a,b)/m);3432.以下程序的输出结果是?#include <stdio.h>int a,b;void fun() a=100; b=200; void main() int a=5,b=7; fun(); printf("%d%dn",a,b); 5733.以下程序的输出结果是?#include <stdi0.h> int fun(int x,int y,int z) z=x*x+y*y;return 0 ;void main() int a=31; fun(5,2,a); printf("%
15、d",a); 3134.以下程序的输出结果是?int fun3(int x) static int a=3; a+=x; return(a); void main() int k=2,m=1,n; n=fun3(k); n=fun3(m); printf("%dn",n); 635._c_代表函数的首地址 ?A、返回值类型 B、参数 C、函数名 D、函数体36.下列函数指针p调用一个求两个数最大值的函数正确的是_b_?A、p() B、p(3, 5) C、*p(3, 5) D、(*p)(3, 5)37.下列函数指针定义正确的是_d_?A、int *p(int, in
16、t) B、int *p(int, int) C、*int p(int, int) D、int (*p)(int, int)38.声明为void printArray(int*p, int count) 的函数的函数指针类型为 _void printArray (int* int)_?39.编程题, 猴子吃桃子问题。猴子第一天摘下若干个桃,当即只一半,又多吃一个。第二天早上又将剩下的一半吃掉一半,双多吃一个。以后每天早上都吃了前天剩下的一半零一个,到第10天早上只剩下最后一个桃。问第一天摘了几个桃函数的递归Func(int n)N = n / 2 1;Return n;Void mainInt
17、s = 0;Int n;S = func(1);40.编程题, 写一个函数, 交换两个变量的值changeTwoNum(int a,int b)int temp = a;a = b;b = temp;41.以下程序的输出结果是?main() int a10 = 0; for(int i = 9; i >= 0; i-) ai=10-i; printf(“%d%d%d", a2, a5, a8);85242.以下程序运行后,输出结果是?main() int n5 = 0, 0, 0, k = 2; for(int i = 0; i < k; i+) ni = ni + 1;
18、 printf("%dn",nk);043.以下程序运行后,输出结果是?main() int y = 18, i = 0, a8 = 0; do ai = y % 2; i+; y = y / 2; while (y >= 1);for(int j = i - 1; j >= 0; j-) printf("%d", aj); printf("n");1001044.以下程序运行后,输出结果是?main() int a10 = 0, a1 = 1, 3, 6, 9, 10, a2 = 2, 4, 7, 8, 15, i =
19、0, j = 0; for(int k = 0; k < 4; k+) if(a1i < a2j) ak = a1i+; else ak = a2j+; for(int k = 0; k < 4; k+) printf("%d", ak); 123445. 编程找出下列整型数组中的最大值和最小值及其所在位置的下标 int a = 5, -9, 32, 77, 64, -24, 14, 0, 21, 45;Int FindMaxNum(int *a,int count) Int max = 0; For(int i = 0;i < count; i+)
20、 If (ai < max )Max = i;Return max;Int findMinNum(int *a,int count) Int min = 0; For(int j = 0;j < count;j +) If(ai > min ) Min = i;Return min;46.编写一个程序:int array15 = 8, 6, 4, 2, 0;int array25 = 9, 7, 5, 3, 1;先将两个数组升序排列, 然后将这两个数组合并成一个升序数组 sortArrayByAsc(int *array1,int 5) For(int i = 0;i <
21、; 5 - 1;i+) For(int j = 0;j < 5-1-i;j+) If(array1j > array1j + 1) Int temp = array1j; Array1j = array1j + 1; Array1j + 1 = temp ;sortArrayByDes(int *array2,int 5) For(int i = 0;i < 5 - 1;i+) For(int j = 0;j < 5-1-i;j+) If(array2j > array2j + 1) Int temp = array2j; Array2j = array2j +
22、1; Array2j + 1 = temp ;sortArray(int *array1,int 10) For(int i = 0;i < 5 - 1;i+) For(int j = 5-1;j < 10-1-i;j+) If(array1j > array1j + 1) Int temp = array1j; Array1j = array1j + 1; Array1j + 1 = temp ;OC部分:1、定义一个人类Person, 实例变量name, age, gender, 要求写出自定义初始化方法, 便利构造器Person NSString name;Int ag
23、e;NSString gender;-initWithName NSString:name andAge int: age andGender NSString:genderNSString name = name;Int age = age;NSString gender = gender;-2、写出property (nonatomic, assgin) NSInteger count; 生成setter和getter方法3、写出property (nonatomic, retain) NSString *brand; 生成setter和getter方法4、写出property (nonatomic, copy) NSString *type; 生成setter和getter方法5、说一下#i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论