编程语言习题
#include<stdio.h>
int c[3][4];
int (*p)[4];
p=c;
以下能够获取c[1][3]值的是()
正确答案: A B C
*(*(p+1)+3)
*((int *)p+7)
*(p[1]+3)
*(p+1)+3
int a = 2;
a = a++; a为2,(此时创建a的副本)
printf("%d", a++); a为2,(此时未创建a的副本)
printf("%d",++a); a为4,但是第二行输出4,第三行注释掉输出3
//int 取值范围-2^31~2^31-1
int a, b,c;
a = 2147483647;//能取到的最大值
b = a + 1;
c = a + 2;
printf("a=%d,b=%d\n", a, b); // a= 214748367, b= -214748368
printf("a=%d,b=%d\n", a, c); // a= 214748367, b= -214748367
4.由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象。
短路效应是指,二元逻辑运算符&& ||,左边真值一旦确定,不会执行右边表达式。
#include<iostream>
using namespace std;
int main(void)
{
char str1[] = "hello world"; //存放在栈中的数组
char str2[] = "hello world"; //存放在栈中的数组
const char str3[] = "hello world"; //存放在栈中的字符串常量
const char str4[] = "hello world"; //存放在栈中的字符串常量
const char* pstring1 = "hello world"; //本身在栈中,指向常量的指针
const char* pstring2 = "hello world"; //本身在栈中,指向常量的指针 //显然二者所指向的地址一致
int x = (int)pstring1;
int y = (int)pstring2; //为了方便打印出指针所指向的地址
cout << boolalpha << ( str1==str2 ) << endl; //比较字串首地址 flase
cout << boolalpha << ( str3==str4 ) << endl; //比较字串首地址 flase
cout << boolalpha << ( pstring1==pstring2 ) <<endl; //比较指针所指地址 true
cout << "str1=" << &str1 << ",";
cout << "str2=" << &str2 << endl;
cout << "str3=" << &str3 << ",";
cout << "str4=" << &str4 << endl;
cout << "pstring1=" << &pstring1 << ",";
cout << "pstring2=" << &pstring2 << endl; //输出指针本身地址
cout<<hex;
cout << "pstring1=" << x << ",";
cout<<hex;
cout << "pstring2=" << y << endl; //16进制输出指针所指地址
return 0;
}
#include <stdio.h>
int main()
{
int x, y;
scanf("%2d%*4s%2d", &x, &y);
printf("%d", y - x);
return 0;
}
% *4s表示读取一个长度为四个字符的字符串,中间的*表示将读取到的字符串忽略,不赋给变量列表中的变量。
%d :整数
%f :浮点值
%9s :最多有 9 个非空白符的字符串
%2d : 2 位的整数(数位 5 和 6 )
%f :浮点值(数位 7 、 8 、 9)
%*d :不存储于任何位置的整数
’ ’ :所有连续空白符
%3[0-9] :至多有 3 个十进制数字的字符串(数位 5 和 6 )
%2lc :二个宽字符,使用多字节到宽转换
只能在循环体内和switch语句体内使用break语句
软件根据用途分为两大类:系统软件和应用软件。 各种编程语言都属于系统软件。
格式字符必须遵守其对应的大小写,%d不能写成%D。
int a=3;
printf(“%8U\n”,a);
%8U不会当成格式控制符
a没有对应的格式说明,不会输出。
输出:%8U(vs输出U)
%md 以宽度m输出整型数,不足m时i,左补空格
%0md 以宽度m输出整型数,不足m时i,左补0
%m.nf 以宽度m输出实型小数,小数位为n,m为总宽度,包括小数点
11.答案:AB
13.
32位cpu位段4字节对齐
strstr用于从一个字符串里查找另一个字符串的位置
int fun(int *p[4]);
数组作为形参数组名退化为指针,则形参是指向指针的指针
17.
18.
19.
x在执行8次后变为0
20.