logo资料库

宇视科技2016招聘试题.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
宇视科技 2016 C 语言程序设计校招笔试题 D *p++ C ++(*p) A 一、判断题 1.使用内联函数可以加快程序执行的速度 2.使用引用传递函数的参数,在内存中并没有产生实参的副本,他是直接对实参操作 3.涉及物理状态或有明确含义的常量,可以直接使用数字 4.C++中可以定义引用类型的引用 5.合理排列结构中元素顺序,可节省空间并增加可理解性 二、单选题 1.若有定义语句:int year = 2009,*p = &year;以下不能使变量 year 中的值增至 2010 的 语句是()D A *p+=1 B (*p)++ 2.以下程序的输出是 main() { Int a,b,c,d; a = 3; b = 5; c = a,b; d = (a,b); printf(“c = %d “,c); printf(“c = %d “,c); } A c = 3 d = 3 3.以下不能输出字符 A 的语句是() B A printf(“%c\n”,’a’-32); B printf(“%d\n”,’A’); C printf(“%c\n”,65) D printf(“%c\n”,’B’-1); 4.以下活动中关于程序模块化的叙述错误的是 C A 把程序分成若干相对独立的模块,可便于编码和调试 B 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块 C 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 D 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成索要求的程序 5.D1 的分辨率为 E A 1280*720 6.程序调试的任务是 D A 设计测试用例 C 发现程序中的错误 D 诊断和修改程序中的错误 7.下列关于线性链表的叙述中,正确的是 C A 各数据结点的存储空间可以不连续,但他们的存储顺序和逻辑顺序必须一致 B 各数据结点的存储顺序和逻辑顺序可以不一致,但他们的存储空间必须连续 C 进行插入与删除时, 不需要移动表中的元素 D 以上三种说法都不对 B 验证程序的正确性 C c = 3 d = 5 D c = 5 d = 5 B c = 5 d = 3 B 1920*1080 C 1280*1024 D 704*576 E 720*576 F 352*288
B 2 1 C 2 5 D 以上均不是 B as_b3 _323 If D 2c Do SIG 8.可以在 C 语言中用做用户标识符的是 B A void define WORD C for -abc cas 9.以下程序的输出是 D Main() { Int a[5] = {1,2,3,4,5}; Int *ptr = (int *)(&a+1); Printf(“%d %d “,*(a+1),*(ptr+1)); } A 2 2 10.以下选项中关于 C 语言常量的描述错误的是 B A 所谓常量,是指在程序运行过程中,其值不能被改变的量 B 常量分为整型常量、实型常量、字符常量和字符串常量 C 常量可分为数值型常量和非数值型常量 D 经常被使用的变量可以定义为常量 11.假定 a 和 b 为 int 型变量,则执行以下语句后 b 的值为 D A = 1; b = 10; do { while (b-- < 0) A 9 C -1 12.下列静态数据成员的特性中,错误的是 D A 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符 B 说明静态数据成员时前面要加关键字 static 来修饰 C 静态数据成员在类体外进行初始化 D 静态数据成员不是所有对象所共有的 13.下列程序输出是 A #define A 100 Void main() { Int i Do { = 0, sum = 0; if( i == (i/2)*2) b -= a ; a ++ ; } B -4 D 8 Continue; Sum += i; B 2050 }while(++i
} 经编译连接生成可执行文件 tt.exe,若运行时输入以下命令行 tt 运行的输出结果是 C1234567 A 136 B 12345 15.以下程序的输出结果是 C A 9 #define f(x) x*x Main() { D 12 D 18 B 6 C 36 12 345 678,则程序 Int a=6, b=2, c; C = f(a)/f(b); Printf(“%d\n”,c); } 三、填空题 1. 以下程序运行后的输出是 AFK #include Main() { Char a; For(a=0;a<15;a+=5) { putchar(a+’A’);} Printf(“\n”); } 2. 以下程序运行后的输出是 #include Int main() { *pragma pack(push) *pragma pack(4) Struct { Char m1; Double m4; Int m3; }tt; #pragma pack(pop) Printf(“%d”,sizeof(tt)); Return 0; } 3. 5 5 4 6 Char *pcColor = “blue1”; Char acColor[] = “blue1”;
Strlen(pcColor) = Strlen(acColor) = 4. 下列程序的输出结果 2 Int aa[3][3] = {{2},{4},{6}}; Void main() { Int i = 0,*p = &aa[0][0]; For(i = 0; i< 2; i++) { if(i == 0) Aa[i][i+1] = *p+1; Else ++p; Printf(“%d”,*p); } } 5.SO Int aa[3][3] = {{2},{4},{6}}; Void main() { Char *p[] = {“BOOL”,”OPK”,”H”,”SP”}; Int i; For(i = 3;i>=0;i--,i--) { Printf(“%c”,*p[i]); } Printf(“\n}; } 6. 输入 x=9999,以下程序返回结果 8 Int func(int x) { Int countx = 0; While(x) { Countx ++; X = x&(x-1); } Return countx; } 7. 定义一个 5 行 5 列的二维数组,使下三角的所有元素初始化为 1, Int i,j,a[5][5]; For(i = 0;i < 5;i++) For (j = 0;j < 5;j++) { If (_______)i>=j
{ A[i][j]=1; } } Return; 四、编程题 编一函数解决猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾, 又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了 前一天剩下的一半零一个,到第四天早上再吃时,见只剩下一个桃子了。求第一天共摘了多 少?(将结果打印出来) #include int main() { int n,x; printf("请输入天数:"); scanf("%d",&n); printf("请输入最后一天剩余:"); scanf("%d",&x); int k = func(x,n); printf("%d",k); return 0; } int func(int x,int n) { if(n==1) return x; else { x=(x+1)*2; return func(x,n-1); } }
分享到:
收藏