C语言笔试例题

您所在的位置:网站首页 邮政编码结构题目例题 C语言笔试例题

C语言笔试例题

2024-07-10 18:15| 来源: 网络整理| 查看: 265

C语言笔试例题_指针专练30题(附答案解析)

指针一直是C语言的灵魂所在,是掌握C语言的必经之路,收集30道C语言指针题目分享给大家,测试环境位64位ubuntu18.04环境,如有错误,恳请指出,文明讨论!!!

文章目录 C语言笔试例题_指针专练30题(附答案解析)1.笔试例题2.结果与分析总结

1.笔试例题

答案与解析在文末尾

1.char * p =“Hello”;是定义初始化指针变量,指针变量的值是一个字符串.说法是否正确

A :正确

B:不正确

2.以下代码printf 输出是什么?

void main (void) { int a[]={4,5,6,7,8}; int *p = a; *p++ += 100; printf(" %d %d \n" , *p,*(++p)); }

3.若定义:int a[2][3]={1,3,5,7,9,11},以下描述正确的是

A :*(a+1)为元素7的地址

B:(a[1]+1)的值是5

C:**(a +1)+2值是11

D:a[0]和a不同

4.以下代码printf 输出是什么?

int main() { int a[5] = { 1, 2, 3, 4, 5 }; int* ptr = (int*)(&a + 1); printf("%d,%d", *(a + 1), *(ptr - 1)); return 0; }

5.说出以下代码的错误之处,并说明原因

char *getmemory( void ) { char p[] = "hello world"; return p; } void test( void ) { char *str = NULL; str = getmemory(); printf( str ); }

6.在上下文及头文件均正常的情况下,下列代码的输出是?(注:print已经声明过)

main() { char str[] = "Geneius"; print (str); } print(char *s) { if(*s) { print(++s); printf("%c", *s); } }

A :suiene

B:neius

C:run-time error

D:suieneG

7.如下代码是否存在风险,并说明原因和修改方式

#include int main () { //hello world 存放在常量区是不可以修改的 char * str = "hello world"; *str = 'a'; // error return 0; }

8.如下代码是否可行,说明原因

#include int main () { char str[4]; str = "abc"; return 0; }

9.如下代码输出是什么

#include #include int main(){ char *str = "baidu.com"; int i ; str = "hello world!"; int len = strlen(str); printf("%d \n",len); printf("%c \n", *(str+4)); printf("%s \n",(str+6)); return 0; }

10.以下程序的输出结果(32位机器上)是()

int main(){ char *p = "abcdefgh", *r; long *q; q = (long*)p; q++; r = (char*)q; printf("%s\n", r); }

A :abcd

B:bcde

C:cdef

D:efgh

11.对于char * pa[7]的描述中,正确的是( )

A :pa是一个指向数组的指针,所指向的数组是7个char型元素

B:pa是一个指向某数组中第7个元素的指针,该元素是char型变量

C:pa[7]表示数组的第7个元素的值,是char型的值

D:pa是一个具有7个元素的指针数组,每个元素是一个char型指针

12.如下代码输出是什么

#include void fun(char **p) { int i; for (i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3